contoh laporan pengerjaan struktur data ITN Malang

download contoh laporan pengerjaan struktur data ITN Malang

of 21

description

Ini adalah refrensi untuk membuat laporan struktur data baik kalangan mahasiswa maupun siswajika anda menemui kekurangan silahkan join di fanspage

Transcript of contoh laporan pengerjaan struktur data ITN Malang

BAB I

BAB I

PENDAHULUAN

1.1. Latar BelakangBahan pokok merupakan kebutuhan harian yang tidak bisa lepas dari kehidupan manusia. Bahan pokok itu adalah : beras, minyak, telur, terigu, gula, mie, daging, cabe, bawang dan lainnya. Barang ini bisa berputar di tempat usaha dengan cepat apabila dapat mengelolanya dengan baik, karena barang ini dikonsumsitiada henti selama manusia embutuhkan untuk hidup. Usaha bahan pokok juga dijual dengan mengikuti trn tahunan dan pasti terjadi di negara kita Indonesia, sebagai contoh pada bulan tertentu ada tradisi budaya dan selalu berkaitan dengan perubahan harga dan sirkulasi ahan pokok yang ada.Era globalisasi membawa dampak positif bagi perkembangan teknologi, khususnya teknologi komputerisasi. Fungsi komputer yang dapat mempermudah kegiatan manusia, mengakibatkan penggunaan komputer dalam berbagai bidang kehidupan. Dengan kemajuan teknologi tersebut, pengaksesan terhadap data atau informasi yang tersedia dapat berlangsung dengan cepat, efisien serta akurat.

Perangkat komputer sebagai alat bantu menjadi semakin berperan dalam menyelesaikan suatu pekerjaan. untuk merancang sebuah program yang dapat dipergunakan sebagai alat bantu dalam menyelesaikan sebuah pekerjaan dalam bidang tertentu, seperti mesin gudang pada sebuah toko bahan pokok agar mempermudah dan mempercepat mendata bahan pokok di gudang tersebut.Program inventory bahan pokok itu bisa mempermudah dan mempercepat dalam mendata barang-barang yang ada di gudang. Dalam hal ini seperti memasukkan data, mengurutkan data dan mencari data yang telah dimasukkan akan lebih praktis. Seiring dengan berkembangnya zaman pasti berbagai jenis barang akan semakin bertambah sehingga dengan adanya program ini akan mempermudah mendata barang tersebut. Salah satu layanan yang membantu untuk mengatasi hal tersebut adalah aplikasi inventory bahan pokok yang akan memberikan layanan untuk mendata barang bahan pokok. Dan hanya dengan memilih menu-menu yang telah tersedia dengan mudah dapat memasukkan data dengan mudah.

Dari latar belakang diatas, maka akan dibuat sebuah program sederhana, yang mampu untuk mempermudah mendata barang dalam sebuah gudang bahan pokok.1.2. Batasan MasalahKarena permasalahan keterbatasan waktu penulis dan agar pembahasan tidak menyimpang dari tujuan maka dilakukan pembatasan masalah sebagai berikut :

a. Program masih berupa text.b. Program ini tidak dapat menyimpan data secara permanentc. Program dirancang dengan menggunakan bahasa pemograman C++. d. Program yang dirancang dengan sedemikian rupa sehingga dapat bekerja secara dinamis dan berkelanjutan.e. Dalam program ini penulis menggunakan pointer, structure, linked list, insertion sorting, dan searching.1.3Tujuan1. Membuat program inventory bahan pokok dengan menggunakan bahasa C++2. Mempermudah dalam mendata bahan pokok dengan menggunakan bahasa C++ 3. Dapat mengefesienkan waktu dalam mendata bahan pokok4. Memudahkan pengguna dalam mencari data berdasarkan kode barangBAB IIPEMBAHASAN

2.1 Landasan TeoriProgram sederhana ini menggunakan beberapa metode yang di terapkan didalamnya. Berikut akan di jelaskan metode atau statement-statement yang di gunakan dalam program ini.

2.1.1 Procesor directive :

# include yang diperlukan pada program yang melibatkan cout.

# include yang dipergunakan bila melibatkan clrscr(),yaitu perintah untuk membersihkan layar.

# include yang dipergunakan untuk penhitungan matematika.

#include yang berfungsi untuk sekumpulan garis, kurva, dan bidang tertentu yang masing-masing didefinisikan secara matematis.

#include yang digunakan untuk pemrosesan string.#include Header yang berisidefinisi makro, konstanta, dan deklarasi fungsi dari dua jenis yang digunakan untuk berbagai standar input output operasi.2.1.2 Void Function / ProsedurFungsi merupakan blok dari kode yang dirancang untuk melakukan tugas khusus. Pada intinya fungsi digunakan untuk mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut.2.1.3 If

Percabangan dengan statement if memiliki pengertian Jika kondisi bernilai benar, maka perintah akan dikerjakan dan jika kondisi bernilai salah maka akan menjalankan intruksi yang selanjutnya seperti pada diagram alir if pada gambar 2.1 .

Gambar 2.1 Diagram alir if

2.1.4 If-Else

Percabangan dengan statement if-else memiliki pengertian Jika kondisi bernilai benar, maka perintah-1 akan dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan perintah-2. Dari pengertian tersebut dapat dilihat dari diagram alir berikut yaitu pada gambar 2.2 tentang diagram alir if-else :

Gambar 2.2 Diagram alir If-Else2.1.5 Switch- Case

Statement switch akan menyeleksi kondisi yang diberikan kemudian membandingkan hasilnya dengan case. Apabila ada hasil kondisi yang sama dalam case dari statemen-statemen tertentu, maka yang akan diproses adalah statement pertama sampai menemui statement break. Jika kostanta yang di bandingkan itu tidak ada maka statement akan berada pada default. Bentuk default ini sifatnya optimal2.1.6 For

Perulangan dengan pernyataan for digunakan untuk mengulang pernyataan atau satu blok pernyataan berulang kali sejumlah yang ditentukan. Perulangan dengan pernyataan for dapat berbentuk perulangan positif, perulangan negatif dan perulangan tersarang.2.1.7 ArrayMerupakan kumpulan data. Pada beberapa bahasa pemrograman, data yang terkandung dalam satu larik harus bertipe sama.Array merupakan sekumpulan data yang mempunyai nama dan tipe yang sama.Array disebut juga variable berindeks.2.1.8 PointerPointer adalah suatu variabel penunjuk, berisi nilai yang menunjuk alamat suatu lokasi memori tertentu. Jadi pointer tidak berisi nilai data, melainkan berisi suatu alamat memori atau null jika pointer tidak berisi data disebut null pointer. Pointer yang tidak diinisialisasi disebut dangling pointer Lokasi memori tersebut bisa diwakili sebuah variabel atau dapat juga berupa nilai alamat memori secara langsung.ilustrasinya dapat dilihat dalam Gambar 2.3. Gambar 2.3 Ilustrasi Pointer2.1.9 Linked list(senarai berantai)Senarai berantai (bahasa Inggris: linked list) atau kadang-kadang disebut dengan senarai bertaut atau daftar bertaut dalam ilmu komputer merupakan sebuah struktur data yang digunakan untuk menyimpan sejumlah objek data biasanya secara terurut sehingga memungkinkan penambahan, pengurangan, dan pencarian atas elemen data yang tersimpan dalam senarai dilakukan secara lebih efektif. Pada praktiknya sebuah struktur data memiliki elemen yang digunakan untuk saling menyimpan rujukan antara satu dengan lainnya sehingga membentuk sebuah senarai abstrak, tiap-tiap elemen yang terdapat pada senarai abstrak ini seringkali disebut sebagai node. karena mekanisme rujukan yang saling terkait inilah disebut sebagai senarai berantai.

Gambar 24 Sebuah senarai berantai2.1.10 StructureStructure (struktur) adalah kumpulan elemen-elemen data yang digabungkan menjadi satu kesatuan. Masing-masing elemen data tersebut dikenal dengan sebutan field. Field data tersebut dapat memiliki tipe data yang sama ataupun berbeda. Walaupun fieldfield tersebut berada dalam satu kesatuan, masing-masing field tersebut tetap dapat diakses secara individual.Field-field tersebut digabungkan menjadi satu dengan tujuan untuk kemudahan dalam operasinya. Misalnya Anda ingin mencatat data-data mahasiswa dan pelajar dalam sebuah program, Untuk membedakannya Anda dapat membuat sebuah record mahasiswa yang terdiri dari field nim, nama, alamat dan ipk serta sebuah record pelajar yang terdiri dari field-field nama, no urut, alamat dan jumnilai Dengan demikian akan lebih mudah untuk membedakan keduanya. Bentuk umum:-Menggunakan typedeftypedef struct nama_struct

{

tipe_data ;

tipe_data ;

} ;-Tanpa Menggunakan typedef

struct nama_struct

{

tipe_data field1; Atau

tipe_data field2;

tipe_data fieldn;

};

2.1.11 SortingPengurutan data dalam struktur data sangat penting terutama untuk data yang beripe data numerik ataupun karakter.Pengurutan dapat dilakukan secara ascending (urut naik) dan descending (urut turun).Pengurutan (Sorting) adalah proses pengurutan data yang sebelumnya disusun secara acak sehingga tersusun secara teratur menurut aturan tertentu.

Sorting yang penulis gunakan ialah menggunakan metode insertion sort

yang cara kerjanya sebagai berikut :

a. Mirip dengan cara orang mengurutkan kartu, selembar demi selembar kartu diambil dan disisipkan (insert) ke tempat yang seharusnya.

b. Pengurutan dimulai dari data ke-2 sampai dengan data terakhir, jika ditemukan data yang lebih kecil, maka akan ditempatkan (diinsert) diposisi yang seharusnya.

c. Pada penyisipan elemen, maka elemen-elemen lain akan bergeser ke belakang.2.1.12 Searching Interpolation Search Teknik ini dilakukan pada data yang sudah terurut berdasarkan kunci tertentu. Teknik searching ini dilakukan dengan perkiraan letak data. Contoh ilustrasi: jika kita hendak mencari suatu kata di dalam kamus telepon, misal yang berawalan dengan huruf J, maka kita tidak akan mencarinya dari awal buku, tapi kita langsung membukanya pada 1/3 atau 1/4 dari tebal kamus.

Rumus posisi relatif kunci pencarian dihitung dengan rumus: - Jika data[posisi] > data yg dicari, high = pos 1

- Jika data[posisi] < data yg dicari, low = pos + 12.2 Algoritma Algoritma dari program ini sangatlah sederhana, sebagai berikut :

1. Mulai

2. Tampilan Menu

3. Input Pilihan

4. No Pilihan = 1 (Masukkan Data Bahan Pokok) Jika ya : maka input berapa jumlah data yang akan ditambahkanJika tidak : maka kelangkah selanjutnya yaitu kelangkah ke 25. No Pilihan= 2 (Lihat Data Bahan Pokok yang Telah Dimasukkan)Jika ya : maka output data bahan pokokJika tidak : maka kelangkah selanjutnya yaitu kelangkah 26. No Pilihan= 3 (Cari Data Bahan Pokok)Jika ya : maka output data bahan pokok yang dicariJika tidak : kelangkah 27. No Pilihan= 4 (Keluar)Jika ya : maka terdapat tampilan anda ingin keluar dari program ini?Jika tidak : maka kelangkah selanjutnya yaitu kelangkah 28. Selesai2.1 Flow Chart

Gambar 2.5 Flowchart2.2 Listing Program/* Program by rdp(ryan dony pratama)

(nim 1218250)

(kelas D)

(ITN Malang) */

#include

#include

#define MAX 100

int jumlah=0,kode,c;

void header();

void garis();

void menu();

void tambah();

void urutkan();

void tampilkan();

void searching();

void cari();

void plus();

struct data_barang

{

int kode;

char nama[24];

char jenis [24];

char stok [100];

data_barang *sebelumnya;

data_barang *selanjutnya;

};data_barang *kepala=NULL,*ekor=NULL,data[MAX];

main()

{

char ulang='n';

int pilihan;

while(ulang=='n')

{

clrscr();

header();

menu();

garis();

gotoxy(1,24);

coutpilihan;

switch(pilihan)

{

case 1:

clrscr();

plus();

break;

case 2:

clrscr();

urutkan();

tampilkan();

break;

case 3:

clrscr();

cari();

break;

case 4:

clrscr();

header();

gotoxy(23,10);

cout