Minggu, 24 Januari 2016

assalamualaikum wr.wb..
apa kabar semua , akhirnya setelah sekian lama vacum , masi bisa nyempetin lagi nih buat bikin postingan seputar struktur data .
daripada panjang lebar , mending kita langsung mulai pembahasannya ..
Lets go , kita mulai pembahasan seputar struktur data ini ..
  1. Apa itu struktur data??
Dalam istilah bahasa komputer “STRUKTUR DATA ADALAH“, struktur data adalah cara penyimpanan, penyusunan dan pengaturan data didalam media penyimpanan computer sehingga data tersebut dapat digunakan secara efisien.
SEDANGKAN DATA ITU SENDIRI” representasi dari fakta dunia nyata. Fakta atau keterangan tentang kenyataan yang disimpan, direkam atau dipresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau symbol. (katanya si wikipedia itu juga)
DAN FAKTA MEMPUNYAI ARTI SEPERTI” kenyataan yang tercatat mengenai suatu objek. Data dapat dinyatakan menjadi konstanta dan variable.
Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolom-kolom data, baik itu kolom yang tampak oleh pengguna (user) atau pun kolom yang hanya digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna. Setiap baris dari kumpulan kolom-kolom tersebut dinamakan catatan (record). Lebar kolom untuk data dapat berubah dan bervariasi. Ada kolom yang lebarnya berubah secara dinamis sesuai masukan dari pengguna, dan juga ada kolom yang lebarnya tetap.
Dengan sifatnya ini, sebuah struktur data dapat diterapkan untuk pengolahan database (misalnya untuk keperluan data keuangan) atau untuk pengolah kata (word processor) yang kolomnya berubah secara dinamis.
 Contoh struktur data dapat dilihat pada berkas-berkas lembar-sebar (spreadsheet), pangkal-data (database), pengolahan kata, citra yang dipampat (dikompres), juga pemampatan berkas dengan teknik tertentu yang memanfaatkan struktur data.
Struktur adalah komposisi, susunan yang teratur, bertahap. Sedangkan data merupakan informasi yang telah diolah.
Maka definisi struktur data adalah komposisi dan susunan teratur dari data, dalam hal ini data dapat diartikan sebagai data secara umum seperti diatas atau data dalam bidang pemrograman computer.  Struktur Data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien.
HUBUNGAN ALGORITMA DAN STRUKTUR DATA
Program = Struktur Data + Algoritma
Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya. Yang termasuk dalam struktur data antara lain yaitu senarai berantai, antrian, tumpukan, daan pohon binear. Adapun yang dimaksud
Algoritma yaitu suatu langkah atau prosedur yang ditunjukan untuk memanipulasi data. Sebagai contoh algoritma diperlukan untuk memasukkan data ke dalam suatu struktur data atau untuk mencari suatu data yang tersimpan dalam struktur data
Struktur Data, meliputi :
  • Struktur data sederhana,
  1. Array
  2. Record.
  • Struktur data majemuk, terdiri dari :
  1. Linier : Stack, Queue, serta List dan Multilist
  2. Non Linier : Pohon Biner dan Graph
Pemakaian struktur data yang tepat didalam proses pemrograman menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secarakeseluruhan lebih efisien dan sederhana.
Struktur data yang standar yang biasanya digunakan dibidang informatika adalah :
Ø  List Linier (Linked List) dan variasinya
Ø  Multilist
Ø  Stack (Tumpukan)
Ø  Queue (Antrian)
Ø  Tree (Pohon)
Ø  Graph (Graf)
ALGORITMA DAN METODE PEMROGRAMAN:
Penekanan bagaimana memecahkan masalah dengan algoritma yang tepat. Dasar-dasar algoritma :
  • Statement Elementer :
°  Asignment (untuk memberikan nilai ke variable yang telah dideklarasikan)
°  Comparison (Untuk keperluan pengambilan keputusan diperlukan operator)
°   Aritmatic Statement (Pangkat, Perkalian, Pengurangan, Penjumlahan, Pengurangan,Operator aritmatika yang pemakaiannya khusus yaitu % sisa pembagian )
°  Operator Boolean (Operator Boolean atau operator logika biasa dipakai untuk menghubungkan ungkapan relasi yang hasilnya adalah true atau false, yaitu: “& &” and (dan), “| |”  or (atau),” ! “  Not (tidak))
°  Instruksi I/O ( Untuk memasukan data ke komputer dapat melalui Instruksi (dalam bahasa C) sebagai berikut: Scant(), Getch(), Getche() )
  • Statement Control :
°  Alternatif :
Ø    If, Bentuk Umum : If (Kodisi)
{Persyaratan}
Ø  If-Else, Bentuk Umum  : If (Kodisi)
{Persyaratan – True}
Else
{Pernyataan – False}
Contoh mencari/menentukan bilangan x adalah bilangan ganjil/genap ?
Ø  Switch, Bentuk Umum :  Switch (ekspresi)
{
Case – 1 : Pernyataan – 1
Break;
…………..
Case – n : Pernyataan – n
Break;
}
°  Pengulangan :
Ø  do while, Bentuk Umum :  do
{pernyataan}
while (kondisi)
Ø  while, Bentuk Umum :  while (kondisi)
{pernyataan}
Ø  For, Bentuk Umum : For (ungkapan-1; ungkapan-2; ungkapan-3)
{Pernyataan}
°  Percabangan (Memerlukan label sebagai identitas cabang), Bentuk umum :
Label:
{
pernyataan
}  goto label
ket:
nah diatas adalah contoh pembuatan aplikasinya dan juga fungsi fungsinya juga udah saya jelaskan diatas
saya akan menjelaskan lagi tentang tipe data 

Hirarki Type data :
  1. Type Data Sederhana ( Menyimpan sebuah nilai data dalam sebuah variable) :
  • Integer (Bilangan bulat)
  • Real : Bilangan Real Presisi-Tunggal (Float) dan Bilangan Real Presisi-Ganda (Double)
  • Boolean (Operator Logika)
  • Karakter
  • Tak Bertipe
  1. Type Data Terstruktur ( Tipe dimana suatu variable bisa menyimpan lebih dari sebuah nilai data ) :
  • Type String
Data yang berisi sederetan karakter dimana banyaknya karakter bisa berubah-ubah sesuai kebutuhan.
Bentuk umum : Char nama_variabel[ukuran]
  • Larik (Array)
Variabel larik hanya bisa menyimpan 1 tipe data saja.
Bentuk umum : tipe_data nama_variabel[ukuran]
  • Record
Terdiri dari beberapa variabel yang terstruktur dan masing-masing variabel bisa mempunyai tipe yang berbeda.
Bentuk umum : struct nama_variabel_struktur
{tipe field1;
tipe field2;
……;
tipe fieldN;
}Var_struk1, Var_struk1,……..,Var_strukN;
  • Set (Himpunan)
o  Union (Memungkinkan suatu lokasi memori ditempati oleh dua atau lebih variabel  yang tipenya bisa berlainan)
o  Enumerasi (Himpunan dari konstanta integer yang diberi nama)
  • File (Organisasi dari sejumlah record sejenis)
  1. Type Data Pointer ( Variabel pointer berisi alamat dari suatu obyek lain (yaitu obyek yang ditunjuk oleh pointer tersebut )
Bentuk umum : Tipe * nama_pointer
  1.   apa itu ARRAY ???
Array adalah struktur data yang menyimpan data-data bertipe sama dalam urutan tertentu. Array dapat dianalogikan sebagai sebuah loker yang memiliki sederetan kotak penyimpanan yang diberi nomor berurutan. Data-data dalam array disebut elemen array. Dengan array setiap elemen bisa diakses langsung melalui indeksnya. Kelebihan lain dari array adalah kita bisa memakai sejumlah variable dengan nama yang sama asalkan variable tersebut dalam indeks yang berbeda.
  1. Karakteristik array :
E Mepunyai batasan dari pemesanan alokasi memori (bersifat statis)
E Mempunyai tipe data sama (bersifat homogen)
E Dapat diakses secara acak.
  1. Jenis array :
  2. a) Array Satu Dimensi
Array satu dimensi yaitu kumpulan elemen-elemen identik yang hanya terdiri dari satu baris atau hanya satu kolom alamat penyimpanan data (indeks). Elemen-elemen tersebut memiliki tipe data yang sama, tetapi isi dari elemen tersebut boleh berbeda.
Bentuk umum :
Tipe_data namaArray[n] = {elemen0, elemen1, elemen2,…..,n};
n = jumlah elemen
contoh pada progam : int ukur[5] = {39, 40. 41, 38, 40};
–      int adalah tipe data yang berupa bilangan bulat.
–      Ukur adalah nama variabel array.
–      [5] adalah ukuran untuk menyatakan jumlah maksimal elemen array.
–      {..} adalah tempat pemberian nilai/elemen array.
  1. b) Array Dua Dimensi
Array dua dimensi sering digambarkan sebagai sebuah matriks, merupakan perluasan dari array satu dimensi. Jika array satu dimensi hanya terdiri dari sebuah baris dan beberapa kolom elemen, maka array dua dimensi terdiri dari beberapa baris dan beberapa kolom elemen bertipe sama sehingga dapat digambarkan sebagai berikut :
Bentuk umum :
Tipe_data namaArray [m][n] = {{a,b,…z},{1,2,…,n-1}};
m = banyaknya baris
n = banyaknya kolom
contoh : int lulus[4][3];
–      Nilai 4 untuk menyatakan banyaknya baris dan 3 untuk menyatakan banyaknya kolom.
Pendeklarasian array dua dimensi hampir sama dengan pendeklarasian array satu dimensi, kecuali bahwa array dua dimensi terdapat dua jumlah elemen yang terdapat dikurung kurung siku dan keduanya boleh tidak sama. Elemen array dua dimensi diakses dengan menuliskan kedua indeks elemennya dalam kurung.
  1. c) Array MultiDimensi
Array ini seperti array dimensi dua tetapi dapat memiliki ukuran yang lebih besar. Sebenarnya array dimensi banyak ini tidak terlalu sering digunakan, tetapi sewaktu-waktu kalau dimensi yang dibutuhkan banyak, maka array ini sangat memegang peranan yang penting.
Bentuk umum pendeklarasian array multidimensi :
Tipe_data namaArray[ukuran1][ukuran2]…[ukuranN];
Sebagai contoh :
int data_huruf[2][8][8]
contoh di atas merupakan pendeklarasian array data_huruf sebagai array berdimensi tiga.
  1. Contoh kasus dari jenis- jenis Array:
  1. Array Berdimensi Satu.
Berikut ini adalah contoh program yang memberikan inisialisasi terhadap array berdimensi satu :
  1. Array Berdimensi Dua.
Berikut ini adalah contoh program yang memberikan inisialisasi terhadap array berdimensi dua :
  1. Array Berdimensi Tiga (Multi Dimensi).
Berikut ini adalah contoh program yang memberikan inisialisasi terhadap array berdimensi tiga:
nah itu adalah contoh apliklasi yang saya buat dan saya juga perjelas tentang codingan nya.
3. apa itu stack???
Ada empat operasi dasar yang didefinisikan pada stack, yaitu :
  1. CREATE(stack)
  2. ISEMPTY(stack)
  3. PUSH(elemen,stack)
  4. POP(stack)
 CREATE
Operator ini berfungsi untuk membuat sebuah stack kosong dan didefinisikan bahwa :
NOEL(CREATE(S)) = 0 dan TOP(CREATE(S)) = null
 ISEMPTY
Operator ini berfungsi untuk menentukan apakah suatu stack adalah stack kosong. Operasinya akan bernilai boolean, dengan definisi sebagai berikut :
ISEMPTY(S) = true, jika S adalah stack kosong
                                    = false, jika S bukan stack kosong
atau
ISEMPTY(S) = true, jika NOEL(S) = 0
                                    = false, jika NOEL(S) 0
Catatan : ISEMPTY(CREATE(S)) = true.
 PUSH
Operator ini berfungsi untuk menambahkan satu elemen ke dalam stack. Notasi yang digunakan adalah :
            PUSH(E,S)
Artinya : menambahkan elemen E ke dalam stack S.
Elemen yang baru masuk ini akan menempati posisi TOP.
Jadi : TOP(PUSH(E,S)) = E.
Akibat dari operasi ini jumlah elemen dalam stack akan bertambah, artinya NOEL(S) menjadi lebih besar atau stack menjadi tidak kosong (ISEMPTY(PUSH(E,S)) = false).
POP
Operator ini berfungsi untuk mengeluarkan satu elemen dari dalam stack. Notasinya :
                   POP(S)
Elemen yang keluar dari dalam stack adalah elemen yang berada pada posisi TOP. Akibat dari operasi ini jumlah elemen stack akan berkurang atau NOEL(S) berkurang dan elemen pada posisi TOP akan berubah. Operator POP ini tidak dapat digunakan pada stack kosong, artinya :
  1. apa itu QUEQUE???

Queue/antrian adalah ordered list dengan penyisipan di satu ujung, sedang penghapusan di ujung lain. Ujung penyisipan biasa disebutrear/tail, sedang ujung penghapusa disebut front/head. Fenomena yang muncul adalah elemen yang lebih dulu disisipkan akan juga lebih dulu diambil. Queue berdisiplin FIFO (First In, First Out). Queue merupakan kasus khusus ordered list. Dengan karakteristik terbatas itu maka kita dapat melakukan optimasi representasi ADT Queue untuk memperoleh kerja paling optimal.
Misalnya Queue Q= (a1,a2,a3…,an), maka
1.Elemen a1 adalah elemen paling depan
2.Elemen ai adalah diatas elemen ai-1, di mana 1<i<n.
3.Elemen an adalah elemen paling belakang
Head (atau front) menunjuk ke awal antrian Q (atau elemen terdepan), sedangkan tail ( rear) menunjuk akhir antrian Q (atau elemen paling belakang).Disiplin FIFO pada Queue berimplikasi jika elemen A, B, C, D, E dimasukkan ke Queue, maka penghapusan/pengambilan elemen akan terjadi dengan urutan A, B, C, D, E.
2.2 Karakteristik Queue
Karakteristik penting antrian sebagai berikut :
1.Elemen antrian yaitu item-item data yang terdapat di elemen antrian.
2.Head/front (elemen terdepan dari antrian ).
3.Tail/rear (elemen terakhir dari antrian ).
4.Jumlah elemen pada antrian (count).
5.Status/kondisi antrian.
Kondisi antrian yang menjadi perhatian adalah :
  • Penuh
Bila elemen di antrian  mencapai  kapasitas  maksimum  antrian. Pada kondisi ini, tidak mungkin dilakukan penambahan ke antrian. Penambahan elemen menyebabkan kondisi kesalahan Overflow.
  • Kosong
Bila tidak ada elemen di antrian. Pada kondisi ini, tidak mungkin dilakukan pengambilan elemen dari antrian. Pengambilan elemen menyebabkan kondisi kesalahan Underflow.
2.3 Operasi-Operasi Pokok di Queue
  • Operasi-operasi pokok antrian sebagai berikut :
1.createQueue (Q), atau constructor menciptakan antrian kosong Q.
2.addQueue (Q, X) memasukkan elemen X sebagai elemen akhir di Q.
3.removeQueue (Q, X)atau mengambil elemen depan di antrian Q ke elemenX.
  • Operasi-operasi pengaksesan tambahan yang dapat dilakukan adalah :
1.headQueue (Q), atau Front (Q, X) mengirim elemen terdepan tanpa menghapus.
2.tailQueue (Q), mengirim elemen tanpa menghapusnya.
  • Operasi-0perasi Query tambahan yang dapat dilakukan adalah :
1.isEmptyQueue (Q), mengirim apakah antrian Q adalah kosong.
2.isFullQueue (Q), mengirim apakah antrian Q adalah penuh bila kapasitas antrian Q didefinisikan.
3.isOverflowQueue (Q), mengirim apakah antrian Q telah mengalamioverflow.
4.isUnderflowQueue (Q), mengirim apakah antrian Q mengalamiunderflow.
  • Operasi-operasi terhadap seluruh antrian Q antara lain adalah :
1.sizeQueue (Q), mengetahui jumlah elemen di antrian Q.
2.isEqualQueue (Q1, Q2), mengirim apakah antrian Q1 dan Q2 sama isinya.
Jumlah operasi pokok Queue tidak banyak. Dengan demikian, sangat sederhana untuk menyatakan apa pun mengenai implementasinya.
2.4. Pengunaan Queue
Meski Queue sangat sederhana, namun Queue merupakan kakas dasar penyelesaian masalah-masalah besar. penggunaan Queue yang utama adalah untuk simulasi fenomena antrian di dunia nyata, serta fenomena antrian di pengolahan data.
Penggunaan Queue dapat dicontohkan seperti dibawah ini :
1.Simulasi antrian di dunia nyata, antara lain :
  • Antrian pembelian tiket di depan loket untuk bis, kereta api, bioskop.
  • Antrian mobil di depan gerbang jalan tol.
  • Antrian kendaraan di jalanan umum.
  1. System produksi
  • Barisan bahan atau komponen yang akan diproses suatu mesin.
  • Barisan bahan atau komponen yang akan diproses suatu manusia
Untuk lebih jelasnya,dbawah ini ada contoh dalam bentuk coding C++
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
void main()
{
int cek=0, data[8], x, hapus;
char pil;
do {
clrscr();
cout<<”    Ujian Praktikum Struktur Data Queue”<<endl;
cout<<”       cecep agus m”<<endl;
cout<<”      UNIVERSITAS KRISNADWIPAYANA”<<endl;
cout<<endl;
printf(“d. Masukan Data Antrian\n”);
printf(“e. Hapus Data Antrian\n”);
printf(“n. Lihat Data Antrian\n”);
printf(“y. Exit Program\n”);
cout<<endl;
printf(“Ketikan Huruf Dari Salah Satu Pilihan Diatas…  “);
pil=getche();
cout<<endl;
if(pil!=’d’ && pil !=’e’ && pil !=’n’ && pil!=’y’ )
printf(“\n\nSalah Ketik, Ulangi Lagi…\n”);
else
{
if(pil==’d’)   //PUSH
{
if(cek==8)
printf(“\nAntrian Penuh\n”);
else
{
printf(“\nMasukkan angka–>”);scanf(“%i”,&x);
data[cek]=x;
cek++;
}}
else
{
if(pil==’e’)        //POP
{
if(cek==0)
printf(“\nMaaf Tidak Antrian Untuk Dihapus \n\n”);
else
{
hapus=data[0];
for(int v=0;v<cek;v++)
data[v]=data[v+1];
data[cek-1]=NULL;
cek–;
cout<<endl;
printf(“Yakin Anda Ingin Data Ini DiHapus ???  “);
cout<<endl;
printf(“\nData dgn nilai=%i akan terhapus. [Tekan Enter]”,hapus);
}
getch();
}
else
{
if(pil==’n’)   //Mengecek Data
{
if(cek==0)
printf(“\nMaaf Tidak Ada Antrian Untuk Ditampilkan.\n\n”);
else
{
printf(“\n”);
for(int z=0;z<cek;z++)
{
printf(” { “);
printf(“%i”,data[z]);
printf(” } “);
}
}
getch();
}
}
}
}
}while(pil!=’y’);
cout<<endl;
cout<<endl;
printf(“Yakin anda ingin keluar…??? {{{Tekan Enter Cak}}} “);
pil=getche();
}m
yupp , saya kira cukup sampai disini pembahasan mengenai STRUKTUR DATA , dan semoga artikel yang sedikit ini dapat menjadi tambahan informasi bagi teman-teman yang sekedar mampir dan melihat-lihat disini hehe ..
sekian dari saya, wassalamualaikum wr.wb..

BANK

Pembayaran melalui Bank berikut :

Norek : 123-45678-910
Imam

Norek : 123-45678-910
An. Gusti Putu Adnyana

Norek : 123-45678-910
An. Gusti Putu Adnyana

Norek : 123-45678-910
An. Gusti Putu Adnyana

Unordered List

SELAMAT DATANG DI BLOG SAYA welcome to my blog http://imamsubekhii.blospot.com

Sample Text

T – berati “talent” (bakat) dan “time” (waktu). Keduanya adalah hadiah dari Sang Pencipta. H – adalah “hope”, harapan untuk hal-hal yang baik dan jujur. I – adalah “insight”, wawasan yang diperoleh dari orang lain atau bacaan yang bermutu. N – adalah “nice to all people”, berbuat baiklah pada semua orang. K – adalah “knowledge” (ilmu pengetahuan), itu adalah kunci kehidupan. B – adalah “book” (buku), bacalah buku sebanyak-banyaknya. I - “in-dept”, belajar dan perdalamlah keterampilan. G – adalah “God”, Tuhan. Jangan lupa pada Sang Mahakuasa. Surga di telapak kaki ibu “Kasih ibu.. kepada beta tak terhingga sepanjang masa. Hanya memberi tak harap kembali bagai sang surya meyinari dunia” Terdengar lantunan lagu yang berkali-kali berputar di televisi, tepat karena hari ini adalah hari Ibu. Ketika lantunan lagu itu terdengar, perasaanku campur aduk antara kesal juga sedih. Lagu itu membuatku bertanya, “kasih yang mana dan seperti apa yang ibu berikan kepada beta seperti lagu itu? Yang tidak terhingga sepanjang masa?” mataku mulai berkaca-kaca lambat laun cairan bening pun menetes dari mataku.

Blog Archive

Popular Posts

Recent Posts

Untuk kali ini saya akan berbagi ilmu mengenai "Sejarah komputer". Pada Tahun 1642, Blaise Pascal yang pada waktu itu berumur 18 tahun berhasil menemukan pascaline atau kalkulator roda numerik. Alat ini digunakan untuk membantu ayahnya menghitung pajak. Pada tahun 1937 manusia telah berhasil mengembangkan teknologi demi teknologi hingga tercipta sebuah komputer elektronik. Selanjutnya pada tahun 1946, Dr. Jhon Mauchly dan J. Presper Ecket berhasil merakit komputer elektronik digital pertama. Komputer tersebut beratnya mencapai 30 ton dan terdiri dari 18.000 tabung vacum. Komputer ini dikenal sebagai komputer generasi pertama. Pada tahun 1971, sejalan dengan ditemukannya chip, ukuran komputer menjadi semakin kecil. Dan pada tahun ini pula muncul Personal Computer atau yang biasa kita sebut dengan PC. PC (Personal Computer) adalah komputer yang biasa kita gunakan sehari-hari baik itu di rumah, di kantor, di sekolah, dan lain-lain.

Text Widget

Diberdayakan oleh Blogger.