Skip to main content

Makalah STRUKTUR DATA



MAKALAH  STRUKTUR  DATA

Description: G:\Logo Stmik Himsya Semarang.jpg


MAKALAH
(Struktur Data)
Makalah ini disusun untuk memenuhi tugas mata kuliah
“STRUKTUR DATA”
Dosen Pengampu : Bapak Septia Lutfi, S.Kom, M.Kom

Disusun oleh :
Nama            : Sopyan Tirto Laksono
NIM              : 2114R0879


FAKULTAS TEKNIK INFORMATIKA STMIK HIMSYA SEMARANG



BAB I
PENDAHULUAN

A.         Latar Belakang

Pada pembuatan makalah kali ini kami akan membahas tentang Pencarian (Searching), dengan metode Sequential Searching. Sequential Search (pencarian beruntun) menggunakan prinsip sebagai berikut, data yang ada di bandingkan satu persatu secara berurutan dengan yang dicari sampai data tersebut ditemukan atau tidak di temukan.
Pencarian (searching) merupakan proses yang sering digunakan dalam pengelolaan data. Proses pencarian adalah menemukan nilai (data) tertentu di dalam sekumpulan data yang bertipe sama (baik bertipe dasar atau bertipe bentukan). Data dapat disimpan secara temporer dalam memori utama atau disimpan secara permanen di dalam memori sekunder (tape atau disk). Didalam memori utama , struktur penyimpanan data yang umum adalah berupa larik atau tabel (array), sedangkan di dalam memori sekunder berupa arsip (file). Algoritma pencarian yang akan dibicarakan dimulai dengan algoritma pencarian yang paling sederhana yaitu pencarian beruntun atau Sequential Search.






B.          Tujuan

a.       Mahasiswa dapat memahami salah satu metode algoritma pencarian (Sequential Search).
b.      Mahasiswa dapat membuat algoritma dan program dalam bahasa pascal dengan metode Sequential Searching.





BAB II
PEMBAHASAN

A. Pengertian
Pencarian (searching) merupakan proses yang sering digunakan  dalam pengelolaan data. Proses pencarian adalah menemukan nilai (data) tertentu di dalam sekumpulan data yang bertipe sama (baik bertipe dasar atau bertipe bentukan). Search algoritma adalah algoritma yang menerima argument A dan mencoba untuk mencari record yang mana keynya adalah A.
Algoritma bisa mengembalikan nilai record, atau pointer ke record. Reord sendiri adalah tipe data yang terdiri atas kumpulan variabel disebut field. Sequential search (penelusuran sequensial) yaitu proses mengunjungi melalui suatu pohon dengan cara setiap simpul di kunjungi hanya satu kali yang disebut dengan tree transversal / kunjungan pohon.
Data dapat disimpan secara temporer dalam memori utama atau disimpan secara permanen di dalam memori sekunder (tape atau disk). Di dalam memori utama, struktur penyimpanan data yang umum adalah berupa larik atau tabel (array), sedangkan di dalam memori sekunder berupa aesip (file).
Aktivitas yang berkaitan dengan pengolahan data ini sering di dahului dengan proses pencarian. Sebagai contoh, untuk mengubah (update) data tertentu, langkah pertama yang harus dilakukan adalah mencari keberadaan data tersebut di dalam kumpulannya. Aktivitas yang awal sama juga dilakukan pada proses penambahan (insert) data yang baru. Proses penambahan data dimulai dengan mencari apakah data yang ditambahkan sudah terdapat di dalam kumpulan. Jika sudah dan mengasumsikan tidak boleh ada duplikasi data,maka data tersebut tidak perlu di tambahkan, tetapi jika belum ada, maka tambahkan. Algoritma pencarian yang akan dibicarakan adalah algoritma pencarian yang paling sederhana yaitu pencarian beruntun atau sequential search.





B. Penjelasan
Sequential search adalah suatu teknik pencarian data dalam array ( 1 dimensi ) yang akan menelusuri semua elemen-elemen array dari awal sampai akhir, dimana data-data tidak perlu diurutkan terlebih dahulu. Kemungkinan terbaik (best case) adalah jika data yang dicari terletak di indeks array terdepan (elemen array pertama) sehingga waktu yang dibutuhkan untuk pencarian data sangat sebentar (minimal). Kemungkinan terburuk (worst case) adalah jika data yang dicari terletak di indeks array terakhir (elemen array terakhir) sehingga waktu yang dibutuhkan untuk pencarian data sangat lama (maksimal).
Prinsip kerja dari Sequential Searching ini adalah semua data di cek oleh variabel cari. Sequential search dibedakan menjadi dua macam yaitu Pencarian beruntun pada larik tidak terurut dan pencarian beruntun pada larik terurut. :

1.      Pencarian beruntun pada larik tidak terurut (acak)
Pencarian dilakukan dengan memeriksa setiap elemen larik mulai dari elemen pertama sampai elemen yang dicari ditemukan atau sampai seluruh elemen sudah diperiksa.
Diketahui sebuah tabel TabInt [1..N] yang telah berisi nilai dengan tipe integer. Jika pada tabel tersebut akan dicari apakah harga/nilai X ada dalam TabInt tersebut ? Maka pencarian yang akan dilakukan adalah membandingkan setiap nilai pada tabel tersebut dengan nilai X yang dicari. Proses tersebut dilakukan secara berurutan mulai dari elemen pertama sampai ketemu, atau sampai elemen terakhir. Apabila niali X ditemukan maka harga/nilai indeks I di mana X diketemukan pertama kalinya akan bernilai tidak sama dengan nol (I ¹ 0). I diberi harga 0 jika pencarian tidak ketemu. Pencarian segera dihentikan begitu harga pertama diketemukan.







Contoh :   
13        87        14        21        75        53

·         Misal nilai yang dicari adalah X = 21, maka elemen yang diperiksa adalah 13, 87, 14, 21. (ditemukan)
Jadi indeks larik yang dikembalikan : I = 4
·         Misal nilai yang dicari adalah X = 15, maka elemen yang diperiksa adalah 13, 87, 14, 21, 75, 53. (tidak ditemukan)
Jadi indeks larik yang dikembalikan : I = 0



DETAIL PROGRAM

#include <stdio.h>
#include <conio.h>
void main(){
            clrscr();
            int data[21] = {13, 87, 14, 21, 75, 53};
            int cari;
            int flag=0;
            printf("masukkan data yang ingin dicari = ");             scanf("%d",&cari);
            for(int i=0;i<21;i++){
                        if(data[i] == cari) flag=4;}
            if(flag==1) printf("Data ada!\n");
         else printf("Data tidak ada!\n");}






2.      Pencarian beruntun pada larik terurut
Pencarian dilakukan dengan memeriksa setiap elemen larik yang berurutan mulai dari elemen pertama sampai elemen yang dicari ditemukan atau sampai seluruh elemen sudah diperiksa.
Diketahui sebuah tabel bilangan integer TabInt[1..N], yang telah diisi dan isinya terurut membesar ( untuk setiap i anggota dari [1..N-1], Ti < T i+1). Jika pada tabel tersebut akan dicari apakah harga/nilai X ada dalam TabInt tersebut ? Maka pencarian yang akan dilakukan adalah membandingkan setiap nilai pada tabel tersebut dengan nilai X yang dicari. Proses tersebut dilakukan secara berurutan mulai dari elemen pertama sampai ketemu, atau sampai kepada elemen terakhir atau sampai dengan harga X yang beinilai lebih besar dari nilai elemen suatu posisi yang sedang diakses pada tabel. Apabila niali X ditemukan maka harga/nilai indeks I di mana X diketemukan pertama kalinya akan bernilai tidak sama dengan nol (I ¹ 0). I diberi harga 0 jika pencarian tidak ketemu.


Contoh :
55        56        78        80        100      156      199

·         Misal nilai yang dicari adalah X = 100, maka elemen yang diperiksa adalah 55, 56, 78, 80, 100. (ditemukan)
Jadi indeks larik yang dikembalikan : I = 5
·         Misal nilai yang dicari adalah X = 170, maka elemen yang diperiksa adalah 55, 56, 78, 80, 100, 156, 199. (tidak ditemukan)
Jadi indeks larik yang dikembalikan : I = 0







                        DETAIL PROGRAM

#include <stdio.h>
#include <conio.h>
void main(){
            clrscr();
            int data[100] = {55,56,78,80,100,156,199};
            int cari;
            int flag=0;
            printf("masukkan data yang ingin dicari = ");             scanf("%d",&cari);
            for(int i=0;i<100;i++){
                        if(data[i] == cari) flag=1;}
            if(flag==1) printf("Data ada!\n");
         else printf("Data tidak ada!\n");}


Ø  Dari program diatas, terlihat bahwa dilakukan perulangan untuk mengakses semua elemen array data satu persatu berdasarkan indeksnya.
Ø  Program menggunakan sebuah variabel flag yang berguna untuk menadai ada atau tidaknya data yang dicari dalam array data.  Hanya bernilai 0 atau 1.
Ø  Flag pertama kali diinisialiasasi dengan nilai 0.
Ø  Jika ditemukan, maka flag akan diset menjadi 1, jika tidak ada maka flag akan tetap bernilai 0.
Ø  Semua elemen array data akan dibandingkan satu persatu dengan data yang dicari dan diinputkan oleh user.





a.   Contoh Program
Program pencarian ;
Uses crt;
Label 1;
Var
L:array [1..100] of integer;
Bil,I,n:integer;
ul:char;
procedure tampil;
begin
write (‘masukan banyak data:’); readln (n);
for i:=1 to n do
begin
write (‘data [‘,I,’] :’);readln (L [i]);
end;
end;
procedure seq_search;
begin
write (‘angka yang akan di cari:’);readln (bil);
i : =1;
while (I <n) and (L[i] <> bil) do
begin
i:=i+1;
end;
if (L[i]=bil)then
writeln (‘ditemukan pada elemen larik ke’,i)
else
writeln (‘tidak ditemukan’);
end;
begin
1 :
Clrscr;
Writeln (‘----------------------------------------------------------’);
Writeln (‘------ PROGRAM PENCARIAN ANGKA ----‘);
Writeln (‘----------------------------------------------------------‘);
Tampil;
Seq_search;
Writeln ;
Delay (3000);
Write (‘apakah anda ingin mengulangi [Y/T] ? : ‘);readln (ul);
If (ul =’Y’) or (ul =’y’) then
Goto 1 ;
Readkey;
End.




Program




Hasil Run



BAB III
KESIMPULAN

Dari analisa data diatas, kami dapat mengambil kesimpulan sebagai berikut :
1.      Pencarian adalah proses menemukan data tertentu di dalam sekumpulan data yang bertipe sama (tipe dasar atau tipe bentukan).
2.      Salah satu metode yang dapat kita gunakan adalah metode Pencarian Beruntun (sequential search).
3.      Metode pencarian beruntun (sequential search) adalah metode yang paling sederhana dari sejumlah metode pencarian.
4.      Secara singkat Metode pencarian beruntun (sequential search) dapat dijelaskan sebagai berikut :
Dari elemen-elemen yang di ketahui, data yang dicari di bandingkan satu persatu sampai data tersebut ditemukan atau tidak di temukan.





DAFTAR PUSTAKA

1.      Makalah Struktur Data Sekolah Tinggi Manajemen Informatika dan Komputer (STMIK)
2.      Setiawan,Suryana. 2004. STRUKTUR DATA & ALGORITME, Jakarta
3.      www.wikipedia.org
4.      www.ilmukomputer.com

Comments

Popular Post

Makalah Tentang ARRAY

MAKALAH   TENTANG   ARRAY MAKALAH (Array) Makalah ini disusun untuk memenuhi tugas mata kuliah “STRUKTUR DATA” Dosen Pengampu : Bapak Septia Lutfi, S.Kom, M.Kom Disusun oleh : Nama            : Sopyan Tirto Laksono NIM              : 2114R0879 TEKNIK INFORMATIKA STMIK HIMSYA SEMARANG BAB I PENDAHULUAN A. Latar Belakang Dalam pemrogaman ada beberapa macam bahasa pemrogaman. Salah satunya adalah bahasa pemrogaman C++. Dalam bahasa pemrogaman C++ terdapat penggunaan variabel array. Namun penggunaan array tidak hanya pada pemrogaman, array juga banyak digunakan untuk berbagai macam struktur data, seperti database. Selanjutnya kita harus memahami terlebih dulu pengertian struktur. Pada makalah ini kami menuliskan telebih dulu pngertian dari struktur karena hal ini sangat berhubungan erat dengan array yang nantinya berujung pada pengertian struktur array,    apa yang disebut array, bagaimana struktur penulisannya, apa saja

Cara Membuat Kalkulator Dengan VB 6.0

CARA MEMBUAT KALKULATOR SEDERHANA DENGAN VB 6.0  Langsung saja bro.. Pertama buka terlebih dahulu aplikasi Visual Basic 6.0. Dan nanti setelah sudah masuk akan tampak seperti gambar di bawah ini : Setelah itu pilih Standart EXE, dan open. Kamu akan di bawa   ke lembar kerja seperti gambar dibawah ini : Setelah itu kamu dapat membuat disain kalkulator kamu sendiri sesuai dengan kreasi sendiri-sendiri. Dan sekarang ini saya berikan contoh programnya, usahakan kalau anda mau copas sebaiknya di cek terlebih dahulu script nya dengan nama disain anda sendiri. Kalau tidak di cek terlebih dahulu takutnya nanti ada kesalahan (Error): Private Sub CmdBagi_Click() Txt3.Text = Val(Txt1.Text) / Val(Txt2.Text) End Sub Private Sub CmdResik_Click() Txt1.Text = "" Txt2.Text = "" Txt3.Text = "" Txt1.SetFocus End Sub Private Sub CmdMetu_Click() pesan = MsgBox("Ajeng Medal Nopo Mboten ?", vbYesNo + vbQuestion, "K