STRUKTUR DATA
MAKALAH





DISUSUN OLEH :

MUFTI FATURRAHMAN
F 551 12 107
FAKULTAS TEKNIK
TEKNOLIGI INFORMASI
UNIVERSITAS TADULAKO





BAB I
KATA PENGANTAR

Dengan mengucapkan puji syukur Alhamdulillah kepada Allah SWT, yang telah melimpahkan segala rahmat dan hidayah-Nya, sehingga kami dapat mengerjakan makalahElektronikaDasarini dengan baik dan lancar. Kami berharap makalah ini dapat memberikan motivasi kepada para mahasiswa-mahasiswi STTPPadangsidimpuan untuk lebih giat mempelajarinya.Kami juga meminta maaf  yang sebesar-besarnya apabila ada kekurangan, kesalahan bahkan kata-kata yang tidak berkenan di hati dan disisi lain kami sangat mengharapkan ada masukan baik kritik maupun saran dari saudara. Sehingga penyusun dapat memperbaiki apa yang jadi kekurangan kami karena tidak ada manusia yang sempurna kecuali Allah SWT.Akhir kata kami mengharapkan makalah ini banyak manfaatnya bagi saya sendiri khususnya maupun semua pihak pada umumnya

















BAB II
PENDAHULUAN

Latar Belakang
      Pemograman dalam struktur data ada beberapa macam.Salah satunya adalah pemograman C++. Dalam pemograman ini biasanya menggunakan variable Array, Struktur dan Linked List
Makalah ini membahas tentang 3 variabel tersebut dimana ketiga variable mempunyai ciri dan umum yang berbeda sesuai dengan tipe file yang di gunakan pembaca. Seperti array yang menggunakan satu dimensi dan dua dimensi serta 3 dimensi dimana sangat berbeda dengan struktur yang menggunakan tingkatan prosedur.
Pemograman ini merupakan pemograman yang berbeda dari pemograman lainnya misalnya VB, Delphi atau Pascal namun perbedaan juga tidak begitu signifikan pada pemograman pascal.

Rumusan Masalah
a.      Pengertian Array dan contoh-contoh programnya pada penggunaan program C++
b.      Pengertian Struktur dan contoh-contoh programnya pada penggunaan program C++.
c.       Pengertian Linked List dan contoh-contoh programnya pada penggunaan program C++

Tujuan
a.   Untuk memenuhi tugas dari dosen pada pada kuliah Struktur Data
b.      Bisa menggunakan/menjalankan program C++ terutama pada Array, Struktur dan Linked List.
Manfaat
a.   Supaya kita mengerti atau mengetahui apa yang di maksud dengan Array dan     beberapa contoh programnya, sehinnga kita dapat menjalankan programnya dengan baik dan benar.
b. Supaya kita mengerti atau mengetahui apa yang di maksud dengan Struktur dan beberapa contoh programnya, sehinnga kita dapat menjalankan programnya dengan baik dan benar.
c.  Supaya kita mengerti atau mengetahui apa yang di maksud dengan Linked List dan beberapa contoh programnya, sehinnga kita dapat menjalankan programnya dengan baik dan benar.















BAB III
LANDASAN TEORI

è Konsep Dasar Sistem
                 Terdapat dua kelompok pendekatan didalam mendefinisikan sistem, yaitu pada yang menekankan pada prosedurnya dan menekankan pada perosedurnya dan yang menekankan pada komponen atau elemennya.
                 Sistem merupakan jaringan kerja dari sebuah prosedur untuk lebih menekankan urut-urutan oprasi didalam sistem.Sistem sangatlah penting bagi sebuah perusahaan terutama pada perusahaan yang semakin besar dan berkembang, karna dengan adanya sistem dapat mempermudah pekerja diperusahaan tersebut dalam menjalankan pekerjaannya sesuai dengan sistem dan prosedur yang telah ditetapkan perusahaan tersebut yang bertujuan untuk memajukan perusahaan.

è Pengertian Sistem
           Sistem menurut Kendall (2006a:3) menyimpulkan bahwa “Sistem informasi yang sudah terkomputerisasi yang berkerja karna adanya interaksi antara manusia dan komputer. Dengan bantuan manusia, prangkat lunak (program komputer), dan perangkat keras (komputer, printer, dan lain-lain), agar berfungsi dengan baik”.
          Sistem menurut Sutabri (2012a:2) menyimpulkan bahwa “Sistem adalah sekelompok unsur yang erat hubungannya satu sama lain, yang berfungsi bersama-sama untuk melakukan suatu kegiatan atau menyeleasaikan suatu kegiatan atau menyelesaikan suatu sasaran tertentu”.
è Karakteristik Sistem
          Menurut Sutabri (2012b:13) menyimpulkan bahwa “Model umum sebuah sistem tediri dari input, proses, dan output”. Hal ini merupakan konsep sebuah sistem yang sangat sederhana mengingat sebuah sistem dapat mempunyai beberapa masukan dan keluaran sekaligus.Selain itu sistem juga memiliki karakteristik atau sifat-sifat tertentu, yang mencirikan bahwa hal tersebut bisa dikatakan sebagai suatu sistem. Adapun karakteristik yang dimaksud adalah sebagai berikut:
1.             Komponen Sistem (Components)
          Suatu sistem terdiri dari jumlah komponen-komponen yang saling berinteraksi, yang artinya saling bekerja sama membentuk suatu kesatuan. Komponen-komponen sistem tersebut dapat berupa suatu bentuk subsistem. Setiap subsistem memiliki sifat dari sistem yang melanjutkan suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan. Suatu sitem dapat mempunyai sitem yang lebih besar, yang disebut dengan “Supra System.
2.             Batasan Sistem (boundary)
          Ruang lingkup sistem merupakan daerah yang membatasi antara sistem dengan sistem yang lain atau sistem dengan lingkunagn luarnya. Batasan sistem ini memungkinkan suatu sistem dipandang sebagai suatu kesatuan yang tidak dapat dipisah-pisahkan.
3.             Lingkungan Luar Sistem (Environment)
          Bentuk apapun yang ada di luar ruang lingkup atau batasan sistem yang mempengaruhi operasi sistem tersebut, disebut dengan lingkungan luar sistem. Dimana lingkungan luar ini dapat bersifat menguntungkan merupakan energi bagi sistem tersebut, dengan demikian lingkungan luar tersebut harus dikendalikan, kalau tidak akan mengganggu kelangsungan hidup dari sistem tersebut.
4.             Penghubung Sistem (Interface)
          Sebagai media yang menghubungkan sistem dengan subsistem yang lainnya disebut dengan penghubung sistem atau Interface melalui penghubung ini memungkinkan sumber-sumber daya mengalir dari suatu subsistem akan menjadi masukan untuk subsistem yang lainnya dengan melalui penghubung tersebut.
5.             Masukan Sistem (Input)
          Energi yang dimasukan kedalam sistem tersebut masukan sistem, yang dapat berupa pemeliharaan (maintenance input) dan signal masukan (signal input).
6.             Keluaran Sistem (Output)
          Hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna, keluaran ini merupakan masukan bagi subsistem yang lain.
7.             Pengolahan Sistem (Process)
          Suatu sistem dapat mempunyai suatu proses yang akan mengubah masukan menjadi keluaran.
8.             Sasaran Sistem (Objektive)
          Suatu sistem memiliki tujuan dan sasaran yang pasti akan bersifat determinan kalau suatu sistem tidak memiliki sasaran, maka oprasi sistem tidak ada gunanya. Suatu sistem dikatakan berhasil bila menggunakan sasaran atau tujuan yang direncanakan.
è Klasifikasi Sistem
          Menurut Sutabri (2012c:15) menyimpulkan bahwa “Sistem merupakan suatu bentuk integrasi antara satu komponen dengan komponen lain karna sistem memiliki sasaran yang berbeda untuk setiap kasus yang terjadi didalam sistem tersebut”. Oleh karna itu sistem dapat dikasifikasikan dari bebrapa sudut pandangan, seperti contoh sistem yang bersifat abstrak, sistem alamiah, sistem yang bersifat deterministic, dan sistem yang bersifat terbuka dan tertutup.
1.             Sistem Abstrak dan Sistem Fisik (Abstrac System dan Phisical System)
          Sistem Abstrak adalah sistem yang berupa pemikiran atau ide-ide yang tidak tampak secara fisik, sedangkan  Sistem Fisik merupakan sistem yang ada secara fisik.
2.             Sistem Alamiah dan Sistem Buatan Manusia(Natural Systen dan Human Made System)Sistem Alamiah adalah sistem yang terjadi melalui proses alam, tidak dibuat oleh manusia, sedangkan Sistem Buatan Manusia merupakan sistem yang melibatkan interaksi manusia dengan mesin,  atau yang disebut dengan “human machine system”.
3.             Sistem Deterministik dan Sistem Probabilistik
          Sistem yang beroprasi pada tingkah laku yang dapat diprediksi disebut sistem deterministik, sedangkan sistem yang bersifat probabilistik adalah sistem yang kondisi masa depannya tidak dapat diprediksi dengan manusia.

4.             Sistem Terbuka dan Sistem Tertutup(Closed Syestem dan Open system)
          Sistem Terbuka adalah sistem yang berhubungan dan dipengaruhi oleh lingkungan luarnya, sedangkan sistem Tertutup adalah sistem yang tidak terpengaruh oleh lingkungan luarnya.

è  Daur Hidup Sistem (System Life Cycle)
          Menurut Sutabri (2012d:20) menyimpulkan bahwa “Siklus hidup dari suatu sistem (System life cycle) adalah proses evalucioner yang diikuti dalam menerapkan sistem atau subsistem informasi berbasis komputer”. Pembangunan sistem hanyalah salah satu dari rangkaian daur hidup suatu sistem. Meskipun demikian proses ini merupakan aspek yang sangat penting, berikut ini beberapa fase dari siklus sistem sebagai berikut:
1.             Mengenali Adanya Kebutuhan
          Sebelum segala sesuatu terjadi timbul, suatu kebutuhan yang harus dapat dikenali sebagaimana adanya.Kebutuhan dapat terjadi sebagai hasil pengembangan dari organisasi dalam volume yang meningkat melebihi kapasistas dari sistem yang ada. Semua kebutuhan ini harus dapat didefinisikan dengan jelas, karna jika tanpa adanya kejelasan dari kebutuhan yang ada akan mengakibatkan pembangunan sistem akan kehilangan arah dan efektifitasnya.
2.             Pembangunan Sistem
          Suatu proses atau seperangkat prosedur yang harus diikuti untuk menganalisa kebutuhan yang timbul dan membangun suatu sistem untuk dapat memenuhi kebutuhan tersebut.
3.             Pemasangan Sistem
          Setelah tahap pembangunan selesai sistem kemudian dioprasikan.Peralihan dan tahap oprasional terjadi pemasangan sistem yang sebenarnya, yang merupakan langkah akihir pembangunan sistem.
4.             Pengoprasian Sistem
          Program-program komputer dan prosedur-prosedur yang membentuk suatu sistem informasi semuanya bersifat statis, sedangkan organisasi ditunjang oleh sistem oprasi.
5.       Sistem Menjadi Usang
          Seiring berjalannya waktu, sustu sistem secara ekonomis dan teknis tidak layak lagi dioprasikan, sehingga perlu dibangun sistem yang baru untuk menggantikannya.

è Pengertian Informasi
          Menurut Darmawan (2013a:2) “Informasi adalah hasil dari pengolahan data, akan tetapi tidak semua hasil dari pengolahan tersebut bisa menjadi informasi, hasil dari pengolahan data yang tidak memberikan makna atau arti serta tidak bermanfaat bagi seseorang bukanlah merupakan informasi bagi orang tersebut”. Menurut Leod dalam Darmawan mengatakan suatu informasi yang berkualitas harus memiliki ciri-ciri sebagai berikut:
1.       Akurat
      Informasi harus mencerminkan keadaan yang sebenarnya. Pengujian terhadap hal ini biasanya dilakukan melalui pengujian tersebut menghasilkan hasil yang sama maka data tersebut dianggap akurat.
2.       Tepat Waktu
      Informasi itu harus tersedia atau ada pada informasi tersebut diperlukan, tidak besok atau tidak beberapa jam lagi.

3.       Relevan
      Informasi yang diberikan harus sesuai dengan yang dibutuhkan.Kalau kenutuhan informasi ini suatu organisasi maka informasi tersebut harus sesuai dengan kebutuhan informasi di berbagai tingkatan atau bagian yang ada dalam organisasi tersebut.
4.       Lengkap
      Informasi harus diberikan secara lengkap.Misalnya informasi tentang penjualan yang tidak ada fakturnya.
      Sumber dari informasi adalah data.Data adalah kenyataan yang menggambarkan kejadian-kejadian dan kesatuan nyata.Informasi diperoleh setelah data-data mentah diproses atau diolah.

è Pengrtian Sistem Informasi
          Menurut Sutabri (2012e:38) menyimpulkan bahwa “Suatu sistem informasi adalah sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian yang mendukung fungsi operasi organisasi yang bersifat manjerial dengan kegiatan strategi dari suatu organisasi untuk dapat menyediakan laporan-laporan yang diperlukan oleh pihak luar tertentu “.Sistem informasi terdiri dari komponen- komponen yang disebut dengan istilah blok bangunan(building block), yang terdiri dari blok masukan, blok model, blok keluaran, blok teknologi, blok basis data dan blok kendali. Sebagai suatu sistem, keenam blok tersebut saling berinteraksi satu dengan yang lain membentuk satu kesatuan untuk mencapai sasaran.
Komponen-komponen sistem informasi yang dimaksud diantaranya yaitu:
1.             Blok Masukan (Input Block)
          Input mewakili data yang masuk kedalam sistem informasi. Yang dimaksud dengan input di sini termaksud metode dan media untuk menangkap data yang akan dimasukan, yang dapat berupa dokumen- dokumen dasar.
2.             Blok Model (Model Block)
          Blok ini terdiri dari kombinasi prosedur, logika dan model matematik yang akan memanipulasi data input dan data yang tersimpan dibasis data dengan cara yang sudah tertentu untuk menghasilkan keluaran yang diinginkan.


3.             Blok Keluaran (Output Block)
          Produk dari sistem informasi adalah keluaran yang merupakan informasi yang berkualitas dan dokumentasi yang berguna untuk semua tingkatan manajemen serta semua pemakai sistem.
4.             Blok Teknologi (Technology Block)
          Teknologi merupakan “kotak alat” (tool-box) dalam sistem informasi. Teknologi digunakan untuk menerima input, menjalankan model, menyimpan dan mengaksesdata, menghasilkan danmengirim keluaran dan membantu pengendalian dari sistem secara keseluruhan.
5.           Blok Basis Data (Database Block)
          Basis data (database) merupakan kumpulan dari data yang saling berhubungan satu dengan yang lainnya, tersimpan diperangkat keras computer dan digunakan perangkat lunak memanipulasinya.
6.     Blok Kendali (Control Block)
          Banyak hal dapat merusak sistem informasi, seperti misalnya bencana alam, api, temperature, air, debu, kecurangan-kecurangan, kegagalan-kegagalan sistem itu sendiri, kesalahan-kesalahan ketidak efisienan, sabotase dan lain sebagainya.
          dihubungkan dengan ruang lingkup yang lebih luas sementara sasaran memiliki ruang lingkup yang lebih sempit.

è Sistem Informasi Akuntansi
          Menurut Sarosa (2009a:13) menyimpulkan bahwa “Sistem informasi akuntansi adalah suatu siatem yang mengumpulkan, mencatat, menyimpan, dan memproses data sehingga menghasilkan informasi yang berguna dalam membuat keputusan”.
          Menurut Rudianto (2006a:7) menyimpulkan bahwa “Sistem informasi akuntansi sistem informasi yang menghasilkan loporan kepada pihak-pihak yang berkepentingan mengenai aktivitas ekonomi dan kondisi suatu perusahaan”.
Dalam sistem informasi akuntansi terdapat beberapa karakteristik yang perlu diperhatikan, diantaranya yaitu:
1.        Melaksanakan tugas yang diperlukan.
2.        Berperang pada prosedur yang relatif standar.
3.        Mengenai data yang rinci.
4.        Terutama focus history.
5.        Menyediakan informasi pemecahan masalah.

è Sistem Informasi Akuntansi Pembelian dan Pengeluaran Kas
          Sistem akuntansi yang dijabarkan disini adalah sistem akuntansi pembelian, dimana sistem akuntansi pembelian merupakan salah satu subsistem dari sistem informasi akuntansi.
          Menutut Rudianto (2006b:192) menyimpulkan bahwa pembelian bahan baku adalah “Biaya yang dikeluarkan untuk membeli bahan baku yang telah digunakan untuk menghasilkan suatu produk jadi tertentu dalam volume tertentu”.
          Berdasarkan Tugas Akhir penulis gunakan adalah pembelian bahan baku pada primaresidence. Definisi pembelian menurut standar akuntansi keuangan adalah pemenuhan kebutuhan sesuai dengan kebutuhan dan memperlancar usaha pokok dan untuk mencapai tujuan tertentu. Sistem akuntansi digunakan untuk pengadaan barang yang diperlukan untuk proses pembangunan pada prima residence. Adapun pencatatan jurnal yang digunakan adalah:
1.             Jurnal Pembelian Tunai
Pembelian                                            XXX
          Kas                                                        XXX
2.             Jurnal Pembelian Kredit
Pembelian                                            XXX
          Hutang                                                                           XXX
3.             Jurnal Pembayaran atau Pelunasan Hutang
Hutang                                                            XXX
          Kas                                                        XXX

è Peralatan Pendukung  (Tools System)
                 Menurut Sutabri (2012f:115) menyimpulkan bahwa “Sistem analis dapat mendesain model dari sistem informasi yang diusulkan dalam bentuklogical model.Media tools sistem merupakan alat yang dapat digunakan untuk menggambarkan bentuk logical model dari suatu sistem, dimana simbol-simbol, lambang-lambang dan diagram-diagram menunjukan secara tepat arti fisiknya”. Adapun tools sistem yang dimaksud untuk merancang model sistem yang baru, contohnya seperti :  Diagram Alir Data (DAD), Kamus Data (KD).

è Diagram Alir Data (DAD)
           Diagram Alir Data Menurut Kendall (2006a:263) adalah “Proses-proses serta aliran data dalam suatu sistem bisnis. Menggambarkan pandangan sejauh mungkin mengenai masukan, proses dan keluaran sistem yang berhubungan dengan masukan proses dan keluaran”.

 1.             Kelebihan Diagram Alir Data
                   Menurut kendall (2006b:264) menyatakan bahwa pendekatan aliran data memiliki empat kelebihan utama melalui penjelasan naratif mengenai cara data-data berpindah disepanjang sistem, yaitu:
a.            Penganalisis sistem dapat mengkonseptualisasikan aliran data yang diperlukan dan menghindari merealisasikannya secara teknis terlalu awal.
b.             Dapat digunakan sebagai latihan yang bermanfaat bagi penganalisis sistem, sehingga memungkinkan mereka bisa memahami dengan lebih baik keterkaitan satu sama lain dalam sistem dan subsistem.
c.              Dapat digunakan sebagai suatau perangkat untuk berinteraksi dengan pengguna.
d.             Memungkinkan penganalisis menggambarkan setiap komponen yang digunakan dalam diagram.
2.             Simbol-Simbol Diagram Alir Data
          Menurut kendall (2006c:265) menyatakan bahwa empat simbol dasar yang digunakan untuk memetakan gerakan diagram alir data adalah:
a.              Kesatuan Luar (External entity)
          Simbol ini di gunakan untuk menggambarkan asal atau tujuan dataKesatuan luar dapat disimbolkan dengan bentuk bujur sangkar.
b.        Arus Data (Data Flow)
          Digunakan untuk menggambarkan aliran data yang berjalan, arus data dapat disimbolkan dengan bentuk anak panah. Terdiri dari sekelompok elemen data yang berhubungan secara logis yang bergerak dari satu titik atau proses yang lain. Panah tersebut dapat digambarkan sebagai garis lurus atau garis lengkung.



c.        Proses (process)
Proses adalah sesuatu yang mengubah input menjadi output. Digunakan untuk menggambarkan proses pengolahan data atau transformasi data. Proses ini dapat disimbolkan dengan bentuk lingkaran, segi empat horizontal atau segi empat tegak dengan sudut-sudut yang membulat.
d.       Simpanan Data (Data Store)
          Adalah suatu pengumpulan data.Digunakan untuk menggambarkan data yang sudah diarsipkan atau disimpan.Simpanan data dapat disimbolkan dengan bentuk sepasang garis horizontal parallel yang tertutup disalah satu ujungnya.

3.          Tahapan Proses Pembuatan Diagram Alir Data
          Menurut kendall (2006d:266) menyatakan bahwa langkah-langkah dalam membuat diagram alir data dapat dibagi menjadi 3 (tiga) tahapan yaitu sebagai berikut:
a.              Diagram Konteks (context diagram)
          Dibuat untuk menggambarkan sumber serta tujuan data yang akan diproses atau dengan kata lain diagram tersebut menggambarkan sistem secara umum dari keseluruhan sistem yang ada.
b.             Diagram Nol (Zero Diagram)
          Dibuat untuk menggambarkan tahapan proses yang ada dalam diagram konteks, yang penjabarannya lebih terperinci.
c.              Diagram Detail (Detail Diagram)
          Dibuat untuk menggambarkan arus data secara lebih mendetail dari tahapan proses yang didalam diagram nol.

4.          Kesalahan Dalam Membuat Diagram Alir Data
          Menutut kendall (2006e:272) menyatakan bahwa beberapa kesalahan umum yang dibuat saat menggambar diagram alir data adalah sebagai berikut:
a.              Lupa memasukan suatu aliran data atau mengarahkan kepala anak panah pada arah yang salah.
b.             Menghubungkan penyimpanan data dan entitas-entitas eksternal secara langsung satu sama lain.
c.              Aliran data-aliran data atau proses-proses pemberian label yang tidak tepat.
d.             Memasukan lebih dari sembilan proses pada diagram alir data.
e.              Mengabaikan aliran data.
f.              Menciptakan analisis yang tidak seimbang.

è Kamus Data
          Kamus Data menurut kendall (2006f:333) adalah “Suatu aplikasi khusus dari jenis kamus-kamus yang digunakan sebagai refrensi kehidupan setiap hariKamus data merupakan hasil refrensi data mengenai data (maksudnya, metadata), suatu data yang disusun oleh penganalisis sistem untuk membimbing mereka selama melakukan analisis sistem. Kamus data dibuat berdasarkan arus data yang ada diagram arus data. Arus data yang ada di DAD sifatnya global dan hanya ditujukan nama arus datanya saja. Untuk maksud keperluan ini, maka kamus data harus memuat hal-hal sebagai berikut:
1.          Elemen-Elemen Data
          Menurut Kendall (2006g:341) menyimpulkan bawa “Masing-masing elemen data bisa ditetapkan sekali dalam kamus data dan juga bisa dimasukan sebelumnya pada formulir deskripsi elemen”.
Karakteristik-karakteristik yang umumnya dimsukan kedalam formulir deskripsi elemen adalah sebagai berikut:
a.               Identitas Elemen
          Adalah masukan yang bersifat pilihan ini memungkinkan penganalisis membangun suatu masukan kamus data otomatis.
b.             Nama Elemen
          Nama harus bersifat deskriptif, unik dan berdasarkan atas elemen apa yang biasa disebut dalam sebagian besar program atau oleh pengguna mayoritas elemen tersebut.
c.              Alias
          Alias adalah nama-nama yang digunakan oleh pengguna yang berbeda didalam sistem-sistem yang berbeda.
d.             Deskripsi singkat mengenai elemen tersebut.
e.              Elemen Basis
          Elemen basis adalah elemen yang awalnya dijadikan kunci (keyed) kedalam sistem, seperti nama konsumen, alamat, atau kota.

f.              Panjang Suatu Sistem
          Nilai ini bisa berupa panjang item yang disimpan, panjang item pada layar atau yang dicetak bisa berupa dengan nilai ini, namun programnya tetap bertanggung jawab menampilkan item tersebut pada layar atau mencetaknya pada laporan yang menyisipkan karakter-karakter penformatan tambahan yang diperlukan.
g.             Jenis Data
          Jenis data dapat berupa numerik, tanggal, alphabet, yang kadang-kadang disebut alfanumerik atau data teks.
h.             Format masukan dan keluaran
          Format masukan dan keluaran juga bisa dimaukan, menggunakan simbol-simbol pengkodean khusus untuk menunjukan bagaimana data-data tersebut seharusnya ditampilkan.
i.               Kriteria Validasi
          Kriteria validasi untuk memastikan bahwa data-data akurat telah dimengerti oleh sistem.Elemen-elemen tersebut bisa berbeda artinya mereka memiliki nilai-nilai tertentu, atau berkelanjutan, dengan rentang nilai yang jelas.
j.               Nilai-nilai default yang boleh dimiliki elemen
          Nilai default ditampilkan pada layar masukan dan digunakan untuk mengurangi jumlah pembuatan kunci yang harus dilakukan operator.
k.             Komentar tambahan area kata-kata
          Komentar tambahan aera kata-kata dapat digunakan untuk menunjukan format tanggal, validasi khusus yang diperlukan.
2.             Menggambarkan Struktur Data
          Menurut Kendall (2006h:338) menyimpulkan bahwa “Struktur data biasanya digambarkan menggunakan notasi aljabar”. Metode ini memungkinkan penganalisis membuat suatu gambaran mengenai elemen-elemen yang membentuk struktur data bersama-sama dengan informasi-informasi mengenai elemen-elemen tersebut.
Notasi aljabar menggunakan simbol-simbol sebagai berikut:

Tabel II.1
Tabel Notasi Aljabar
Notasi
Arti
=
Terdiri dari
+
Dan
{ }
Kelompok berulang atau tabel-tabel
[ ]
Menunjukan salah satu dari dua situasi tertentu
( )
Menunjukan suatu elemen yang bersifat pilihan
Sumber: Kendal (2006h:338)
è Normalisasi
          Menurut Sutabri (2012g:138) menyimpulkan bahwa “Proses normalisai merupakan proses pengelompokan elemen data menjadi tabel-tabel yang menunjukan entitas dan relasinya”. Setiap file selalu memiliki kunci yang berupa satu filed atau satu set filed yang dapat mewakili record. Ada beberapa macam kunci (key function) yang digunakan untuk proses pencarian, penyaringan, penghapusan dan lainnya, yaitu sebagai berikut:
a.              Kunci Kuadrat (Candidate Key)
          Kunci kuadrat adalah satu atribut aau satu set minimal atribut yang mendefinisikan secara unik suatu kejadian yang sepesifik dari suatu entitas.
b.             Kunci Primer (Primary Key)
          Kunci primer adalah suatu atribut atau set minimal atribut yang tidak hanya mengidentifikasi secara unik suatu kejadian yang spesisfik, akan tetapi juga dapat mewakili setiap kejadian dari suatu entitas.
c.              Kunci Alternatif (Alternate Key)
          Kunci alternative adalah kunci kandidat yang tidak dipakai sebagai primary key.
d.             Kunci Tamu (Foreign Key)
          Kunci tamu adalah suatu atribut atau satu set yang melengkapi satu relationship(hubungan) yang menunjukan induknya. Kunci tamu ditempatkan pada entitas anak dan sama dengan kunci primer induknya direlasikan. Hubungan antara entitas induk dengan anak adalah hubungan satu lawan banyak (on to many relasionship).
1.             Tahapan Proses Normalisasi
          Menurut Sutabri (2012h:143) menyimpulkan bahwa “proses normalisasi merupakan proses pengelompokan data elemen menjadi tabel yang menunjukan entitas dan relasinya”. Pada proses normalisasi ini perlu dikenal dahulu definisi dari tahap normalisasi, yaitu sebagai berikut: 

a.         Bentuk Tidak Normal (Unnormalized Form)
       Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu from tertentu, dapat saja tidak lengkap atau terduplikasi.
b.        Bentuk Normal Kesatu (1NF/ First Normal Form)
       Bentuk normal kesatu mempunyai ciri yaitu bahwa setiap data dibentuk dalam flat file (file datar/ rata), data dibentuk dalam satu record demi record dan nilai dari fieldberupa atomic value.
c.         Bentuk Normal Kedua (2NF/ Second Normal Form)
       Bentuk normal kedua memiliki syarat,yaitu bentuk data telah memenuhi kriteria bentuk normal kesatu.
d.        Bentuk Normal Ketiga (3NF/ Third Normal Form)
       Untuk menjadi bentuk normal ketiga maka relasi haruslah dalam bentuk normal kedua dan semua atribut bukan primer tidak mempunyai hubungan yang transitif.
e.         Boyce-Codd Normal From (BCNF)
       Boyce-Codd Normal From mempunyai paksaan yang lebih kuat dari bentuk normal ketiga. Untuk menjadi BCNF, relasi harus dalam bentuk normal kesatu dan setiap atribut harus bergantung fungsi pada atribut superkey.

è Pengkodean
          Menurut kendall (2008a:267) menyimpulkan bahwa “Pengkodean adalah proses dari meletakkan data yang berarti dua macam atau data yang sulit dipakai dengan segera, lebih mudah dimasukan digital atau huruf”.
1.       Tipe Kode
          Menurut Kendall (2008b:273) Menurut jenisnya struktur kode diantaranya yaitu:
a.              Kode Mnemonik (mnemonic code)
          Kode mnemonik digunakan untuk tujuan supaya mudah diingat.Kode mnemonik dibuat dengan dasar singkatan sebagian karakter dari item yang mewakili kode ini.
          Contohnya:
KD    : Kamus Data
SO    : Solo
YG    : Yogyakarta
b.             Kode Urut (sequential code)
          Kode urut disebut juga kode seri merupakan kode yang nilai urut antara suatu kode dengan kode berikutnya.
Contohnya:
00                          Kas
002                        Piutang Dagang
003                        Persediaan Barang Dagangan

c.              Kode Blok (blok code)
          Kode blok mengklasifikasikan item ke dalam kelompok blok tertentu yang mencerminkan suatu klasifikasi tertentu atas dasar pemakaian maksimum yang diharapkan.
1000-1999             Aktiva Lancar
2000-2999             Aktiva Tetap
3000-3999             Hutang Lancar
d.             Kode Grup (group code)
          Kode grup merupakan kode yang berdasarkan field-filed dan tiap-tiap field mempunyai arti.
Contohnya:
1.       Aktiva Tetap
1.1     Aktiva Lancar
                              1.1.0 Kas
e.              Kode Desimal (decimal code)
          Kode desimal mengklasifikasikan kode atas dasar 10 unit angka desimal dimulai dari angka 0 sampai 9 atau dari 00 sampai 99 tergantung banyaknya kelompok.
Contohnya:
00. Aktiva Lancar
                              00100 Kas
                              00200 Piutang Dagang
                              00300 Persediaan Produk Selesai
2.   Pedoman Umum Pengkodean
      Menurut Kendall (2008c:275) Pedoman umum pengkodean diantaranya yaitu:                             
a.              Meringkas
          Kode seharusnya diringkas. Kode yang terlalu panjang berarti banyak tombol dan akibatnya banyak kesalahan. Kode panjang juga berarti bahwa penyimpanan informasi dalam basisdata akan memerlukan banyak memori.
b.             Menjaga Kode tidak Berubah
          Kestabilan berarti bahwa identifikasi kode untuk pelanggan seharusnya tidak berubah setiap kali data diterima.
c.              Memastikan Bahwa Kode adalah Unik
          Bagi kode supaya bekerja, harus unik perhatikan bahwa semua kode yang digunkan dalam sistem dan memastikan bahwa tidak menggunakan nomor atau nama kode sama untuk item-item yang sama. Nomor dan nama kode merupakan bagian yang sangat penting dari masukan dalam kamus data.
d.             Membiarkan Kode dapt Diurut
          Memanipulasi data dengan bermanfaat, kode harus dapat diurut.
e.              Menghindari Kode yang Buat Kekacauan
          Menghindari penggunaan karakteristik kode yang terlihat atau terdengar serupa.
f.              Menjaga Kode yang Seragam
          Kode perlu untuk mengikuti bentuk banyak format sepanjang waktu.
g.             Memperbolehkan Modifikasi Kode
          Sistem pengkodean seharusnya mampu mencakup perubahan.
h.             Membuat Kode Berarti
          Kode yang berarti lebih mudah dimengerti, bekerja dengannya dan dipanggil.
i.               Menggunakan Kode-kode bisa digunakan.





BAB IV
PEMBAHASAN

A.   PENGERTIAN STRUKTUR DATA
Dalam istilah ilmu komputer, sebuah struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien.Sedangkan Data adalah representasi dari fakta dunia nyata. Fakta atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol.
Konstanta digunakan untuk menyatakan nilai tetap sedangkan variable digunakan dalam program untuk menyatakan nilai yang dapat berubah-ubah selang eksekusi berlangsung.
Ada empat istilah data, yaitu:
1.      Tipe data adalah jenis atau macam data di dalam suatu variable dalam bahasa pemrograman.
2.      Objek data mengacu kumpulan elemen, D (domain).
3.      Representasi data : Suatu mapping dari struktur data ‘d’ ke suatu set ke struktur data ‘e’ (d===e) misal bolean di representasikan dalam 0 dan 1.
4.      Struktur data biasa dipakai untuk mengelompokan beberapa  informasi yang terkait menjadi sebuah kesatuan.
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.


Secara garis besar type data dapat dikategorikan menjadi:
Type data sederhana.
       Type data sederhana tunggal, misalnya Integerrealboolean dan karakter.
       Type data sederhana majemuk, misalnyaString
Struktur Data, meliputi:
       Struktur data sederhana, misalnya array dan record.
       Struktur data majemuk, yang terdiri dari:
a)      Linier : Stack, Queue, sertaList dan Multilist
b)      Non Linier : Pohon Biner dan Graph
Pemakaian struktur data yang tepat didalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan 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 )
B.   PEMBUATAN STRUKTUR DATA
Untuk membuat menjadi struktur data, kita harus melakukan dulu aktivitas terhadap objek data, yaitu :
v  Mendeskkripsikan kumpulan operasi sah yang diterapkan ke elemen-elemen objek data.
v  Menunjukan mekanisme kerja operasi-operasi.
Objek data integer ditambah operasi (+ , - , * , / , mod ,cell , floor , < , >) dan operasi-operasi lain yang memanipuasi objek data integer menyatakan struktur data.
Struktur data = Objek data + { Operasi manipulasi }.
Tahap pembuatan struktur data adalah :
Ø   Tahap pertama      : Spesifikasi
Pendeskripsian / spesifikasi struktur data menyatakan apa yang dapat dilakukan struktur data, bukan cara penerapannya.

Spesifikasi dapat dilakukan dengan dua cara, yaitu :
·         Spesifikasi secara formal
·         Spesifikasi secara informal
Ø  Tahap kedua : Implementasi
Implementasi menyatakan cara penerapan struktur data dengan struktur data yang telah ada.Implementasi struktur data adalah proses pendefinisian tipe data abstrak sehingga semua operasi dapat dieksekusi computer. Implementasi struktur penyinpanan item-item data serta algoritma-algoritma untuk implementasi operasi-operasi sehingga menjamin terpenuhinya karakteristik struktur data, relasi item-item data atau invariant pada struktur data itu.
Ø  Tahap ketiga : Pemrograman
Pemrograman terstruktur adalah penerjemahan menjadi pernyataan di bahasa pemrograman tertentu. Prosesnya terdiri dari :
·         Deklarasi yang mendefinisikan objek-objek data dan hubungannya…
·         Pembuatan prosedur / rutin untuk operasi-operasi dasar yang menjaga invariant pada struktur data itu .
Sesuai dengan relasi yang didefinisikan di spesifikasi perancangan harus memilih tipe-tipe data yang telah ada untuk merepresentasikan struktur data.
Struktur data di bangun menggunakan fasilitas pembentukan atau pembuatan struktur data yang disediakan bahasa seperti array, record, dan sebagainya atau yang telah di buat seperti stack, queue, atau himpunan menggunakan linked list.
Pembuatan struktur data adalah pembentukan tipe data lengkap yang mempunyai empat property berikut :
1.      Nama         : Identifier tipe data
2.      Domain     : Domain / himpunan semesta nilai di tipe data
3.      Konstanta (penyebutan anggota-anggotanya) : Cara penyebutan anggota-anggota tipe data
4.      Operasi-operasi terhadap tipe data itu (operator) : Daftar operasi terhadap anggota tipe data sehingga kelakuan objek data sesuai spesifikasi.

C.    ARRAY
2.1  Pengertian Array
Array atau larik didefinisikan sebagai pemesanan alokasi memory berurutan.definisi ini kurang tepat, karena terjadi kerancuan antara struktur data dan representasinya.Memang benar array hampir selalu di implementasikan menggunakan memory berurutan tapi tidak selalu demikian.
Semua elemem array bertipe sama. Array cocok untuk organisasi kumpulan data homogen yang ukuran atau jumlah elemen maksimumnya telah diketahui dari awal.
Homogen adalah bahwa setiap elemen dari sebuah array tertentu haruslah mempunyai tipe data yang sama.
2.2  Karakteristik Array
a)      Mepunyai batasan dari pemesanan alokasi memori (bersifat statis)
b)      Mempunyai tipe data sama (bersifat homogen)
c)      Dapat diakses secara acak.
2.3 Deklarasi Array
Ada tiga hal yang harus di ketahui dalam mendeklarasikan array, yaitu :
a)      Type data array
b)      Nama variable array
c)      Subkrip / index array.
Contoh deklarasi dari array adalah sebagai berikut :
int A[5] ; artinya variabel A adalah kumpulan data sebanyak 5 bilangan bertipe
integer.
2.4  Jenis Array
1.      Array Dimensi Satu
Deklarasi : Type_Data Nama_Variabel [index]
n
p (Index Array)
i = 1


Rumus untuk menentukan jumlah elemen dalam array adalah :


p = Perkalian dari index sebelumnya (untuk arraybdimensi dua dan tiga).
Pemetaan (Mapping) Array Dimensi Satu Ke Storage
Rumus             :  @A[i] = B + (i – 1) * L
Dimana            :  @A[i]           :  Posisi array yang dicari
                                    B         :  Posisi awal index di memori computer
                                    i           :  Subkrip atau index array yang di cari
                                    L          :  Ukuran atau besar memori suatu tipe data

2.      Array Dimensi Dua
Deklarasi         : Type_Data Nama_Variabel [index1] [index2]
n
p (Index Array)
i = 1


            Menentukan jumlah elemen dalam array dimensi dua :


p = Perkalian dari statemen sebelumnya
Pemetaan (Mapping) Array Dimensi Dua Ke Storage
Terbagi dua cara pandang (representasi) yang berbeda :
·         Secara kolom per kolom (coloumn major order / CMO)



@M[i][j] = M[0][0] + {(j – 1) * K + (i – 1)} * L

  
·         Secara baris per baris (row major order / RMO)



@M[i][j] = M[0][0] + {(i – 1) * N + (j – 1)} * L

  
Keterangan      :
@M[i][j] = Posisi array yang di cari, M[0][0 = Posisi alamat awal index array, i = Baris, j = Kolom, L = Ukuran memory type data, K = Banyaknya elemen per kolom, N = Banyaknya elemen per baris.
3.      Array Dimensi Tiga
Deklarasi         : type_Data Nama_Variabel [index1][index2][index3]
n
p (Index Array)
i = 1


Menentukan jumlah elemen dalam array dimensi tiga :


p = Perkalian dari statemen sebelumnya
Pemetaan (Mapping) Array Dimensi Tiga Ke Storage



Rumus  : @M[n][m][p] = M[0][0][0] + {((n – 1) * (index1)) + ((m – 1) *     (index2)) + ((p – 1) * (index3)} * L




TRIANGULAR ARRAY (ARRAY SEGI TIGA)
Triangular array dapat merupakan Upper Triangular (seluruh elemen di bawah diagonal utama = 0), ataupun Lower Triangular (seluruh elemen di atas diagonal utama = 0).
N
∑          I = N (N+1)/2
I = 1

Dalam array Lower Triangular dengan N baris, jumlah maksimum elemen <> 0, tidak lebih dari  


SPERSE ARRAY (ARRAY JARANG)
Suatu array yang sangat banyak elemen nol-nya.
2.5 Operasi Dasar Pada Array
Operasi terhadap elemen di array dilakukan dengan pengaksesan langsung. Nilaidi masing-masing posisi elemen dapat diambil dan nilai dapat disimpan tanpa melewati
posisi-posisi lain.
Terdapat dua tipe operasi, yaitu :
1. Operasi terhadap satu elemen / posisi dari array
2. Operasi terhadap array sebagai keseluruhan
Dua operasi paling dasar terhadap satu elemen / posisi adalah
1. Penyimpanan nilai elemen ke posisi tertentu di array
2. Pengambilan nilai elemen dari posisi tertentu di array
Operasi-operasi dasar terhadap array secara keseluruhan adalah :
1. Operasi penciptaan
2. Operasi penghancuran
3. Oparasi pemrosesan traversal
4. Operasi pencarian (table look-up)
5. Operasi sorting
2.6 Penciptaan Dan Penghancuran
Operasi penciptaan biasa disebut inisialisasi.Operasi ini untuk mempersiapkan struktur data untuk operasi-operasi berikutnya.Operasi penghancuran menyatakan ketidak berlakuan struktur data atau membebaskan memory, menyerahkan memory ke manajemen memory agar dapat di pergunakan keperluan lain.Operasi penghancuran penting terutama bila struktur data di implementasikan secara dinamis menggunakan pointer
2.7  Penyimpanan Dan Pengambilan Nilai
Biasanya bahasa pemrograman menyediakan sintaks tertentu untuk penyimpanan dan pengambilan nilai elemen pada posisi tertentu di array.
Contoh :
A[10] = 78, berarti penyimpanan nilai 78 ke posisi ke-10 dari array A
C = A[10], berarti pengambilan nilai elemen posisi ke-10 dari array A
2.8  Pemrosesan Transversal
Operasi pemrosesan transversal adalah pemrosesan mengolah seluruh elemen secara sistematik.
2.9  Pencarian Di Array (Table Look-Up)
Pencarian di array (table look-up) adalah proses pencarian suatu nilai di array. Klasifikasi pencarian di array adalah :
1)      Pencarian sekuen (sequential searching),yaitu:
a.       Tanpa Boolean, terbagi:
·         Tanpa sentinen
·         Dengan sentinen
b.      Menggunakan boolean
2)      Pencarian secara biner / dikotom (binary = dichotomy searching).
2.10 Pengurutan Array
Pengurutan atau sorting adalah proses yang paling sering di lakukan dalam pengolahan data.pengurutan di bedakan menjadi dua, yaitu :
a.           Pengurutan internal
Pengurutan dilakukan terhadap sekumpulan data di media memory internal komputer dimana data dapat di akses elemennya secara langsung.
b.           Pengurutan eksternal
Pengurutan data di memory sekunder.Biasanya data bervolume besar sehingga tidak mampu dimuat semuanya di memori utama.
2.11 Keunggulan Dan Kelemahan Array
Ø  Keunggulan array adalah sebagai berikut :
1.            Array sangat cocok untuk pengaksesan acak. Sembarang elemen di array dapat diacu secara langsung tanpa melalui elemen-elemen lain.
2.            Jika berada di suatu lokasi elemen, maka sangat mudah menelusuri ke elemen-elemen tetangga, baik elemen pendahulu atau elemen penerus 3
3.            Jika elemen-elemen array adalah nilai-nilai independen dan seluruhnya harus terjaga,maka penggunaan penyimpanannya sangat efisien.
Ø  Kelemahan array adalah sebagai berikut :
Array mempunyai fleksibilitas rendah, sehingga tidak cocok untuk berbagai aplikasi karena array mempunyai batasan sebagai berikut :
1.            Array harus bertipe homogen. Kita tidak dapat mempunyai array dimana satu elemenadalah karakter, elemen lain bilangan, dan elemen lain adalah tipe-tipe lain
2.            Kebanyakan bahasa pemrograman mengimplementasikan array statik yang sulitdiubah ukurannya di waktu eksekusi. Bila penambahan dan pengurangan terjaditerus-menerus, maka representasi statis
• Tidak efisien dalam penggunaan memori
• Menyiakan banyak waktu komputasi
• Pada suatu aplikasi, representasi statis tidak dimungkinkan
Bila penambahan dan pengurangan terjadi terus menerus, maka representasi statis (array):
1.            Tidak efisien dalam penggunaan memory
2.            Menyiakan banyak waktu komputasi
3.            Pada suatu aplikasi, representasi statis tidak di mungkinkan.











































BAB V
PENUTUP

Kesimpulan
Struktur data merupakan salah satu bahan dasar pembuatan program. Pemakaian struktur data yang tepat di dalam proses pemrograman, akan menghasilkan algoritma yang jelas dan tepat sehingga menjadikan program secara keseluruhan lebih sederhana. Array merupakan bagian dari struktur data yaitu termasuk kedalam struktur data sederhana yang dapat di definisikan sebagai pemesanan alokasi memory sementara pada komputer.Apabila kita membuat program dengan data yang sudah kita ketahui batasnyamaka kita menggunakan Array (type data statis), namun apabila datanya belum kita ketahui batasnya maka gunakan pointer (type data dinamis).



































BAB VI
DAFTAR PUSTAKA



Komentar