• Tidak ada hasil yang ditemukan

Source Code Struktur Data dan Algoritma

N/A
N/A
Protected

Academic year: 2018

Membagikan "Source Code Struktur Data dan Algoritma"

Copied!
15
0
0

Teks penuh

(1)

Struktur Data & Algoritma

Leni Muslimah

064001400022

Teknik Informatika

(2)

ListArray

#include <iostream>

using namespace std;

struct smpn

{ char name[10];

int thn_lls;

int angkt;

char prof[15];

char no_hp[15];

smpn *ljt ;

};

smpn *mlai_ptr = NULL;

smpn *pndah;

int pilihan = 0;

void tmbh_data()

{ smpn *Fr, *Fr1;

Fr = new smpn;

cout << "\t Masukkan data!\n\a";

cout << "Masukkan nama : ";

cin >> Fr->name;

cout << "Tahun Lulus Kuliah : ";

(3)

cout << "Angkatan berapa : ";

cin >> Fr->angkt;

cout << "Profesi Anda : ";

cin >> Fr->prof;

cout << "Nomer yang bisa dihub : ";

cin>>Fr->no_hp;

Fr->ljt = NULL;

if (mlai_ptr == NULL)

{ mlai_ptr = Fr;

pndah = mlai_ptr;

}

else

{ Fr1 = mlai_ptr;

while (Fr1->ljt != NULL)

{ Fr1 = Fr1->ljt;

}

Fr1->ljt = Fr ;

}

}

void list_data()

{ smpn *Fr;

Fr = mlai_ptr;

(4)

if (Fr == NULL)

cout << "Tidak ada data yang disimpan\n";

else

{ while (Fr != NULL)

{

cout << "Nama: "<<Fr->name<<", ";

cout << "Tahun Lls: "<<Fr->thn_lls<<", ";

cout << "Angkatan: "<<Fr->angkt<<", ";

cout << "Profesi: "<<Fr->prof<<", ";

cout << "No.HP : "<<Fr->no_hp;

if (Fr == pndah)

cout << "< data";

cout <<endl;

Fr = Fr->ljt;

}

cout <<"Daftar data terakhir" << endl;

}

}

void hapus_dta_awl()

{ smpn *Fr;

Fr = mlai_ptr;

mlai_ptr = mlai_ptr->ljt;

delete Fr;

}

void hapus_dta_akr()

(5)

if (mlai_ptr == NULL)

cout << "Daftar kosong/n";

else

Fr0 = mlai_ptr;

if (Fr0->ljt == NULL)

{delete Fr0;

mlai_ptr = NULL;

}

else

{while (Fr0->ljt != NULL)

{Fr1 = Fr0;

Fr0 = Fr0->ljt;

}

delete Fr0;

Fr1->ljt = NULL;

}

}

void pndah_brkt ()

{if (pndah == NULL)

cout <<"Kamu berada di baris terakir\n";

else

pndah = pndah->ljt;

}

void move_kmbli()

{ if (pndah == mlai_ptr)

(6)

else

{ smpn *sblm;

sblm = mlai_ptr;

while (sblm->ljt != pndah)

{ sblm = sblm->ljt;

}

pndah = sblm;

}

}

int main()

{ mlai_ptr = NULL;

do

{

list_data();

cout << endl;

cout << "Masukkan pilihanmu(ketik angka) : " << endl;

cout << "0. Keluar dari program." << endl;

cout << "1. Menambahkan node di daftar terkhir." << endl;

cout << "2. Hapus data awal node." << endl;

cout << "3. Hapus data terakhir pada node." << endl;

cout << endl << " kamu mau apa >> ";

cin >> pilihan;

switch (pilihan)

{

case 1 : tmbh_data(); break;

(7)

case 3 : hapus_dta_akr(); break;

}

}

while (pilihan != 0);

return 0;

(8)

Array Of Struct

#include <iostream>

#include <stdio.h>

#include <iomanip>

#include <conio.h>

#include <string.h>

using namespace std;

void tampilmenu(){

cout<<"---[Daftar]---"<<endl;

cout<<"| 1. Tambah Biodata |"<<endl;

cout<<"| 2. Tampilkan Biodata |"<<endl;

cout<<"| 3. Keluar |"<<endl;

cout<<"---"<<endl;

};

int main(void){

int pilihan,s,c[3],d[3],e[3],b[3],i;

char a[20][3], f[30][3];

bool looping=true;

tampilmenu();

cout<<" Pilih? ";

cin>>pilihan;

cout<<endl;

switch(pilihan){

case 1:

//Struct Alamat

(9)

int rt;

int rw;

int no;

char jalan[30];

};

//struct biodata

struct biodata {

char nama[20];

int nim;

alamat almt;

};

biodata bio[3];

//bio1

for (i=0; i<=2; i++){

cout<<"===biodata ["<<i+1<<"]==="<<endl;

cout<<"Nama : ";

cin>>a[i];

cout<<endl;

cout<<"NIM : ";

cin>>b[i];

cout<<endl;

cout<<"RT : ";

cin>>c[i];

cout<<endl;

cout<<"RW : ";

cin>>d[i];

cout<<endl;

cout<<"No : ";

cin>>e[i];

cout<<endl;

(10)

cin>>f[i];

cout<<endl;

strcpy(bio[i].nama,a[i]);

bio[i].nim=b[i];

bio[i].almt.rt=c[i];

bio[i].almt.rw=d[i];

bio[i].almt.no=e[i];

strcpy(bio[i].almt.jalan, f[i]);

}

//case 2

case 2:

cout<<"---"<<endl;

cout<<"| No | Nama | NIM | Alamat | Nomor | RT | RW |"<<endl;

cout<<"---"<<endl;

for(s=0;s<3;s++){

cout<<"| "<<s+1<<" | "<<bio[s].nama<<" | "<<bio[s].nim<<" | "<<bio[s].almt.jalan<<" | "<<bio[s].almt.no<<" | "<<bio[s].almt.rt<<" | "<<bio[s].almt.rw<<" | "<<endl;

}

case 3:

looping=false;

break;

}

(11)

List Pointer

#include <iostream>

#include <conio.h>

#include <iomanip> //setw()

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

using namespace std;

struct node

{

int data;

node* next; // untuk menghubungkan dengan node lain, tipe

data dibuat sama seperi aturan penggunaan pointer.

};

node* head;

node* tail;

node* curr;

node* entry;

node* del;

(12)

head = NULL;

tail = NULL;

}

void input(int dt)

{

entry = (node* )malloc(sizeof(node)); //alokasi memori

entry->data = dt;

entry->next = NULL;

if(head==NULL)

{

head = entry;

tail = head;

}

else

{

tail->next = entry;

tail = entry;

}

}

void hapus()

{

int simpan;

if(head==NULL)

{

cout<<"\nlinked list kosong, penghapusan tidak bisa

dilakukan"<<endl;

}

else

{

head = NULL;

}

}

void cetak()

{

curr = head;

if(head == NULL)

cout<<"\ntidak ada data dalam linked list"<<endl;

else

{

cout<<"\nData yang ada dalam linked list adalah"<<endl;

cout<<setw(6);

while(curr!=NULL)

{

cout<<curr->data<<"->";

curr = curr->next;

(13)

cout<<endl;

}

}

void menu()

{

char pilih, ulang;

int data;

do

{

system("cls");

cout<<"SINGLE LINKED LIST NON CIRCULAR"<<endl;

cout<<"---"<<endl;

cout<<"Menu : "<<endl;

cout<<"1. Input data"<<endl;

cout<<"2. Hapus data"<<endl;

cout<<"3. Cetak Data"<<endl;

cout<<"4. Exit"<<endl;

cout<<"Masukkan pilihan Anda : ";

cin>>pilih;

switch(pilih)

{

case '1' :

cout<<"\nMasukkan data : ";

cin>>data;

input(data);

break;

case '2' :

hapus();

break;

case '3' :

cetak();

break;

case '4' :

exit(0);

break;

default :

cout<<"\nPilih ulang"<<endl;

}

cout<<"\nKembali ke menu?(y/n)";

cin>>ulang;

}while(ulang=='y' || ulang=='Y');

}

(14)

{

inisialisasi();

menu();

(15)

Referensi

Dokumen terkait

Sebagai muslimah kita harus tahu jilbab yang dapat menutup aurat, aurat yang menutup dada dan tidak terlihat lekuk tubuh muslimah. muslimah harus tau apa

Varietas Anjasmoro merupakan tanaman tertinggi dengan jumlah daun yang berbeda tidak nyata dengan Tanggamus pada umur 4 MST.. Varietas Anjasmoro memiliki laju

Karya ilmiah yang ditulis oleh Susanto dengan tujuan untuk mengetahui pengaruh rasio likuiditas, profitabilitas, solvabiitas dan ukuran perusahaan terhadap harga pasar

Pembangunan infrastruktur bersifat fisik dan memberikan akses terhadap pelayanan dasar maupun pelayanan sosial serta ekonomi bagi masyarakat pedesaan. Pembangunan

mengangkut barang-barang pada saat darurat atau ketika tidak ada pesawat Indonesia yang mampu mengangkut barang-barang tersebut. Pihak Indonesia menyarankan agar

Hipotesis 5 : Semakin tinggi komitmen penyalur pada pemasok, maka semakin besar keinginan untuk menjalin hubungan jangka panjang dengan pemasok Hasil pengujian terhadap hipotesis

Oleh karena nilai tersebut berada di antara 2 dan 4 maka dapat disimpulkan bahwa tidak terjadi otokorelasi untuk persamaan regresi variabel prestasi belajar atas variabel uang

Bahwa atas surat tersebut, Teradu kemudian melakukan konsultasi dan kordinasi dengan Bawaslu Deli Serdang pada tanggal 31 Desember 2018, dan pada saat konsultasi dan