Anda di halaman 1dari 36

JUDUL : PROGRAM PENDATAAN ALAT MUSIK

Diajukan Sebagai Tugas Mata


Kuliah Struktur Data

Anggota Kelompok :

1. NIM : 19.12.1262 Nama : Alviano Dwitiya Nareswara La Kahia


2. NIM : 19.12.1278 Nama : Fahrizal Bayu Trisna Putra
3. NIM : 19.12.1277 Nama : M Arib Dzaki Fakhir
4. NIM : 19.12.1258 Nama : Livia Andien Izzati

PROGRAM STUDI SISTEM INFORMASI


UNIVERSITAS AMIKOM YOGYAKARTA
YOGYAKARTA
KATA PENGANTAR

Puji syukur kami panjatkan kehadirat Allah SWT yang telah


memberikan rahmat beserta hidayah-Nya sehingga kami dapat
menyelesaikan makalah Pemrograman ini. Penulisan makalah ini
dimaksudkan untuk memenuhi tugas final project dari dosen struktur data
di semester tiga tahun ajaran 2020/2021. Pada kesempatan ini, kami
menyampaikan ucapan terima kasih kepada pihak-pihak yang telah
membantu selama pengerjaan tugas ini :

1. Ibu Ninik Tri Hartanti selaku dosen Mata Kuliah Struktur Data
kelas SI 05.
2. Asisten Praktikum.
3. Serta pihak-pihak yang tidak bisa kami sebutkan satu persatu.

Pada makalah ini kami membuat program pendataan Alat Musik


menggunakan Dev C++.

Terimakasih atas perhatiannya, mohon maaf makalah ini masih jauh di


atas kata sempurna.

Yogyakarta, 16 Januari 2021

Penyusun,

1
DAFTAR ISI

KATA PENGANTAR………………………………………………………… 1

DAFTAR ISI…………………………………………………………………... 2

BAB I PENDAHULUAN……………………………………………………... 3

1.1 LATAR BELAKANG…………………………………………………. 3


1.2 TUJUAN………………………………………………………………. 4

BAB II PERANCANGAN DAN PEMBAHASAN………………………….. 4

2.1 KEBUTUHAN DATA PADA APLIKASI YANG AKAN DIBUAT….. 4


2.2 MATERI YANG DIGUNAKAN………………………………………. 4
2.3 CODE PROGRAM……………………………………………… 5 - 28
2.4 PEMBAHASAN………………………………………………… 29 - 33

BAB III LAMPIRAN…………………………………………………………... 34

3.1 TUGAS MASING MASING ANGGOTA KELOMPOK……………. 34


3.2 ALAMAT LINK VIDEO FINAL PROJECT…………………………. 34

2
BAB I

PENDAHULUAN

1.1 LATAR BELAKANG

Program pendataan alat music Yamaha yang kami buat ini memiliki
tujuan, yaitu memudahkan karyawan dalam input, melihat, dan
menghapus data alat music dengan mudah dan cepat. Dikarenakan,
apabila input data secara manual sering terjadi kesalahan dalam input
data, entah itu dari kurangnya komunikasi ataupun salah tulis dalam
menginputkan data.

Database sangatlah penting dalam penjualan, maka dari itu data


yang masuk dan keluar harus jelas keberadaannya dan memiliki
kesalahan yang minim bahkan 0. Dalam aplikasi ini terdapat berbagai
macam fitur-fitur, yaitu : Input data, Penyesuaian data berdasarkan harga
barang, Pencarian data berdasarkan tipe barang, Penghapusan data yang
Diinputkan, dan Melihat Data-data yang telah masuk kedalam database.

Kami harap, dengan adanya aplikasi ini, karyawan toko dapat


melakukan tugas mereka dengan baik dan tidak melakukan kesalahan
kecil ataupun fatal dikarenakan salah menginput atau menghapus data
yang berada di dalam database.

3
1.2 TUJUAN

Tujuan dibuatnya program ini adalah untuk memudahkan


pekerjaan agar tidak terjadi hal kesalahan penginputan maupun
penghapusan data di dalam database.

BAB II

PERANCANGAN DAN PEMBAHASAN

2.1 KEBUTUHAN DATA PADA APLIKASI YANG AKAN DIBUAT


 Data tipe alat music
 Data harga alat music
 Data jenis alat musik

2.2 MATERI YANG DIGUNAKAN


 Struct : Digunakan untuk Menaruh data tipe alat music dan
harga alat musik
 Array : Wadah yang digunakan untuk value dari data alat
musik
 Sorting : Mengurutkan data berdasarkan harga terendah ke
harga tertinggi dengan metode ascending
 Searching : Melakukan pencarian data berdasarkan tipe dari
alat music
 Stack : Metode untuk penginputan data, hapus data, melihat
data, dan pencarian data.

4
2.3 CODE PROGRAM

#include <iostream> // untuk routing input-output basic; cout,cin,endl

#include <conio.h> //untuk cmemanggil console DOS input-output;


getch,clrscr,system cls

#include <string.h>//untuk menggunakan tipe data string

#include <stdio.h>//

#include <iomanip>//

using namespace std;

int maxim=50; //untuk jumlah maksimum stack

string typekey[]={"EZ-300","PSR-EW310","PSR-E373","PSR-E273","PSS-E30","PSS-F30"};

int hargakey[]={3899000, 2399000, 3340000, 2330000, 1499000, 1150000};

string typegitar[]={"F370","F335","F310P","F310","FX310","FS100C"};

int hargagitar[]={1380000,1147000,1216000,1200000,1480000,1250000};

string typedrum[]={"Stage Custom Bop Kit","Junior Kit","Pearl Target Series Drum


Kit","DTX402","DTX multi pad","DTX700"};

int hargadrum[]={10500000,9000000,14800000,9400000,10000000,19000000};

int penunjuk=-1; // batas bawah tumpukan keyboard

int penunjukgitar=-1;//batas bawah tumpukan gitar

int penunjukdrum=-1;//batas bawah tumpukan drum

//dibuat terpisah supaya tidak bertabrakan dengan tumpukan lainnya, karena tiap
tumpukan memiliki data yang berbeda

int limit;// variabel pembatas yang dapat digunakan secara universal.

struct keyboard{

int harga1;

string datakeyboard; //declare string sebanyak 50 sesuai sama maximal

}item1[50];//penggunaan struct untuk menaruh variabel yang akan digunakan dalam


tumpukan keyboard.

struct gitar{

int harga2;

string datagitar; //declare string sebanyak 50 sesuai sama maximal

}item2[50];//penggunaan struct untuk menaruh variabel yang akan digunakan dalam


tumpukan gitar.

struct drum{

5
int harga3;

string datadrum; //declare string sebanyak 50 sesuai sama maximal

}item3[50];//penggunaan struct untuk menaruh variabel yang akan digunakan dalam


tumpukan drum.

void header(){

cout<<"==================== P R O G R A M P E N D A T A A N A L A T M U
S I K =====================\n\n";

cout<<" \t Y A M A H A M U S I C S T O R E \n\n";

cout<<"***************************************************************************
********************\n";

void daftarharga(){

cout<<"Daftar Harga Alat Musik"<<endl<<endl;

cout<<"Keyboard\t\t\t\tGitar\t\t\t\tDrum"<<endl<<endl;

cout<<"1. Type : EZ-300\t\t1. Type : F370\t\t\t1. Type : Stage Custom Bop


Kit"<<endl;

cout<<" Harga : Rp 3.899.000\t\tHarga : Rp 1.380.000\t\tHarga : Rp


10.500.000"<<endl;

cout<<"2. Type : PSR-EW310\t\t2. Type : F335\t\t\t2. Type : Junior


Kit"<<endl;

cout<<" Harga : Rp 2.399.000\t\tHarga : Rp 1.147.000\t\tHarga : Rp


9.000.000"<<endl;

cout<<"3. Type : PSR-E373\t\t3. Type : F310P\t\t\t3. Type : Pearl Target


Series Drum Kit"<<endl;

cout<<" Harga : Rp 3.340.000\t\tHarga : Rp 1.216.000\t\tHarga : Rp


14.800.000"<<endl;

cout<<"4. Type : PSR-E273\t\t4. Type : F310\t\t\t4. Type : DTX402"<<endl;

cout<<" Harga : Rp 2.330.000\t\tHarga : Rp 1.200.000\t\tHarga : Rp


9.400.000"<<endl;

cout<<"5. Type : Remie (PSS-E30)\t5. Type : FX310\t\t\t5. Type : DTX multi


pad"<<endl;

cout<<" Harga : Rp 1.499.000\t\tHarga : Rp 1.480.000\t\tHarga : Rp


10.000.000"<<endl;

cout<<"6. Type : PSS-F30\t\t6. Type : FS100C\t\t6. Type : DTX700"<<endl;

cout<<" Harga : Rp 1.150.000\t\tHarga : Rp 1.250.000\t\tHarga : Rp


19.000.000"<<endl<<endl;

// Keyboard

6
//membuat fungsi IsEmpty untuk mengecek stack kosong atau tidak

bool IsEmptykey()

if(penunjuk == -1)

return true;

else

return false;

//membuat fungsi IsFull untuk mengecek stack isi atau tidak

bool IsFullkey()

if(penunjuk == maxim-1)

return true;

else

return false;

//membuat fungsi Push untuk memasukkan nilai kedalam stack yang sebelumnya dicek
terlebih dahulu apakah penuh atau belum

void pushkey(int limit)

if(IsFullkey())

cout<<"Database Type dan Harga Keyboard Sudah Penuh!";

getch();

else

penunjuk++;

cout<<penunjuk+1<<". Tipe Keyboard yang Akan Diinput = ";

cin>>item1[penunjuk].datakeyboard;

cout<<"Harga Keyboard yang Akan Diinput = ";

cin>>item1[penunjuk].harga1;cout<<endl;

cin.ignore(); //function agar string bisa terus berulang tanpa di


clear terlebih dahulu

7
}

//membuat fungsi untuk melakukan sorting atau pengurutan data berdasarkan harga
terendah dengan metode ascending

void sortkey(){

int tempHrg;//variabel untuk meletakkan harga sementara dari proses sorting

string tempTipe;//variabel untuk meletakkan type sementara dari proses


sorting

//dinamis

for (int i = 0; i <= penunjuk;i++){

for(int j=0;j<=penunjuk-1;j++){

if(item1[j].harga1 > item1[j+1].harga1){

tempHrg=item1[j].harga1;

item1[j].harga1=item1[j+1].harga1;

item1[j+1].harga1=tempHrg;//sorting dengan
metode ascending untuk menentukan harga terendah dari keyboard

tempTipe=item1[j].datakeyboard;

item1[j].datakeyboard=item1[j+1].datakeyboard;

item1[j+1].datakeyboard=tempTipe;

//sorting data untuk inputan dinamis

cout<<"Sorting Data Input Dinamis"<<endl<<endl;

for(int i=0 ; i<=penunjuk ; i++){

cout<<" Type = "<<item1[i].datakeyboard<<endl;

cout<<" Harga = Rp. "<<item1[i].harga1<<endl;

cout<<endl;

cout<<endl;

cout<<"Tekan Enter Untuk Melanjutkan"<<endl;

getch();

//statis

//sorting data untuk data yang telah di deklarasi di awal/sudah ada dalam
syntax pemrograman

8
for(int i=0;i<6;i++){

for(int j=i+1;j<6;j++){

if(hargakey[j]<hargakey[i])

int min=hargakey[i];

hargakey[i]=hargakey[j];

hargakey[j]=min;//sorting dengan metode


ascending untuk menentukan harga terendah dari keyboard

std::string plus=typekey[i];

typekey[i]=typekey[j];

typekey[j]=plus;

cout<<"\nSorting Database/Statis :"<<endl<<endl;

for (int i=0;i<6;i++){

cout<<"Type : "<<typekey[i]<<endl;

cout<<"Harga : Rp "<<hargakey[i]<<endl;

//membuat fungsi Pop untuk mengambil nilai dari stack yang sebelumya dicek
terlebih dahulu apakah kosong atau belum

void popkey()

if (IsEmptykey())

cout<<"tidak ada data!";

else

cout<<"Data yang diambil adalah :


"<<item1[penunjuk].datakeyboard;//data yang dapat dihapus adalah data yang
dimasukkan secara dinamis oleh pengguna

penunjuk--;//sehingga value yang terdapat di dalam deklarasi


awal/statis tidak dapat dihapus

9
}

//membuat fungsi Clear untuk menghapus data dalam stack

void clearkey()

penunjuk = -1;

cout<<" Sudah Dikosongkan!";

//membuat fungsi untuk menampilkan isi dari stack

void viewkey()

if (!IsEmptykey())

for(int a=penunjuk;a>=0;a--) //looping untuk melihat data stack


sesuai limit yang diinput

cout<<"Type : "<<item1[a].datakeyboard<<endl;

cout<<"Harga : "<<item1[a].harga1<<endl;

cout<<"==============================="<<endl;

else

cout<<"Data Kosong";

void datatersimpankey()

system ("cls");

header();

cout<<"Status Data Baru Masuk :"<<endl<<endl;

viewkey();//menampilkan isi dari stack keyboard, apakah sudah terisi


atau masih kosong.

cout<<endl<<endl;

10
void carikey(){

system("cls");

string pencari;

bool syrt;//syarat untuk melakukan pencarian terhadap type keyboard, jika


benar maka akan ditampilkan.

header();

cout<<"Pencarian Alat Musik Keyboard(Type)"<<endl<<endl;

cout<<"Masukan Type = ";

cin.ignore();//digunakan agar getline ini bisa diinputkan sebuah data


string.

getline(cin,pencari); // getline untuk menginputkan satu kalimat (lebih


dari 1 kata).

for(int i=0 ; i<=penunjuk ; i++){

//dinamis

if(item1[i].datakeyboard == pencari){

cout<<"Data Ditemukan di index no- "<<i<<endl;

cout<<"Type = "<<item1[i].datakeyboard<<endl;

cout<<"Harga = Rp. "<<item1[i].harga1<<endl;

syrt = true;

if(syrt!=true){

cout<<"Type Tidak Ditemukan di Data Yang Baru Masuk"<<endl<<endl;

cout<<"Tekan Enter Untuk Lanjut"<<endl;

getch();

//statis

bool syrt1;//jika salah, maka tidak akan menampilkan apa-apa

for(int i=0;i<6;i++){

if(typekey[i] == pencari){

cout<<"Data Ditemukan di index no- "<<i<<endl;

cout<<"Type = "<<typekey[i]<<endl;

cout<<"Harga = Rp. "<<hargakey[i]<<endl;

syrt1 = true;

if(syrt1!=true){

cout<<"Type Tidak Ditemukan di Database"<<endl;

11
}

// Gitar

//membuat fungsi IsEmpty untuk mengecek stack kosong atau tidak

bool IsEmptygitar()

if(penunjukgitar == -1)

return true;

else

return false;

//membuat fungsi IsFull untuk mengecek stack isi atau tidak

bool IsFullgitar()

if(penunjukgitar == maxim-1)

return true;

else

return false;

//membuat fungsi Push untuk memasukkan nilai kedalam stack yang sebelumnya dicek
terlebih dahulu apakah penuh atau belum

void pushgitar(int limit)

if(IsFullgitar())

cout<<"Database Type dan Harga Gitar Sudah Penuh!";

getch();

12
else

penunjukgitar++;

cout<<penunjukgitar+1<<". Type Gitar yang Akan Diinput = ";

cin>>item2[penunjukgitar].datagitar;

cout<<"Harga Gitar yang Akan Diinput = ";

cin>>item2[penunjukgitar].harga2;cout<<endl;

cin.ignore(); //function agar string bisa terus berulang tanpa di


clear terlebih dahulu

void sortgitar(){

int tempHrg;//variabel untuk meletakkan harga sementara dari proses sorting

string tempTipe;//variabel untuk meletakkan type sementara dari proses


sorting

//dinamis

for (int i = 0; i <= penunjukgitar;i++){

for(int j=0;j<=penunjukgitar-1;j++){

if(item2[j].harga2 > item2[j+1].harga2){

tempHrg=item2[j].harga2;

item2[j].harga2=item2[j+1].harga2;

item2[j+1].harga2=tempHrg;//sorting dengan
metode ascending untuk menentukan harga terendah dari gitar

tempTipe=item2[j].datagitar;

item2[j].datagitar=item2[j+1].datagitar;

item2[j+1].datagitar=tempTipe;

cout<<"Sorting Data Input Dinamis"<<endl<<endl;

for(int i=0 ; i<=penunjukgitar ; i++){

cout<<" Type = "<<item2[i].datagitar<<endl;

cout<<" Harga = Rp. "<<item2[i].harga2<<endl;

cout<<endl;

13
}

cout<<endl;

cout<<"Tekan Enter Untuk Melanjutkan"<<endl;

getch();

//statis

for(int i=0;i<6;i++){

for(int j=i+1;j<6;j++){

if(hargagitar[j]<hargagitar[i])

int min=hargagitar[i];

hargagitar[i]=hargagitar[j];

hargagitar[j]=min;//sorting dengan metode


ascending untuk menentukan harga terendah dari gitar

std::string plus=typegitar[i];

typegitar[i]=typegitar[j];

typegitar[j]=plus;

cout<<"\nSorting Database/Statis :"<<endl<<endl;

for (int i=0;i<6;i++){

cout<<"Type : "<<typegitar[i]<<endl;

cout<<"Harga : Rp "<<hargagitar[i]<<endl;

//membuat fungsi Pop untuk mengambil nilai dari stack yang sebelumya dicek
terlebih dahulu apakah kosong atau belum

void popgitar()

if (IsEmptygitar())

cout<<"tidak ada data!";

else

14
{

cout<<"Data yang diambil adalah :


"<<item2[penunjukgitar].datagitar;

penunjukgitar--;

//membuat fungsi Clear untuk menghapus data dalam stack

void cleargitar()

penunjukgitar = -1;

cout<<"Sudah Dikosongkan!"<<endl;

//membuat fungsi untuk menampilkan isi dari stack

void viewgitar()

if (!IsEmptygitar())

for(int a=penunjukgitar;a>=0;a--) //looping untuk melihat data


stack sesuai limit yang diinput

cout<<"Type : "<<item2[a].datagitar<<endl;

cout<<"Harga : "<<item2[a].harga2<<endl;

cout<<"==============================="<<endl;

else

cout<<"Data Kosong";

void datatersimpangitar()

system ("cls");

header();

15
cout<<"Status Data Baru Masuk :"<<endl<<endl;

viewgitar();//menampilkan isi dari stack gitar, apakah sudah terisi atau


masih kosong.

cout<<endl<<endl;

void carigitar(){

system("cls");

string carikan;

bool syrtgitar;//syarat untuk melakukan pencarian terhadap type gitar, jika


benar maka akan ditampilkan.

bool syrt1gitar;//jika salah, maka tidak akan menampilkan apa-apa

header();

cout<<"Pencarian Alat Musik Gitar(Type)"<<endl<<endl;

cout<<"Masukan Type = ";

//cin>>carikan;

cin.ignore();

getline(cin,carikan);

for(int i=0 ; i<=penunjukgitar ; i++){

//dinamis

if(item2[i].datagitar == carikan){

cout<<"Data Ditemukan di index no- "<<i<<endl;

cout<<"Type = "<<item2[i].datagitar<<endl;

cout<<"Harga = Rp. "<<item2[i].harga2<<endl;

syrtgitar = true;

if(syrtgitar!=true){

cout<<"Type Tidak Ditemukan di Data Yang Baru Masuk"<<endl<<endl;

cout<<"Tekan Enter Untuk Lanjut"<<endl;

getch();

//statis

for(int i=0;i<6;i++){

if(typegitar[i] == carikan){

cout<<"Data Ditemukan di index no- "<<i<<endl;

cout<<"Type = "<<typegitar[i]<<endl;

16
cout<<"Harga = Rp. "<<hargagitar[i]<<endl;

syrt1gitar = true;

if(syrt1gitar!=true){

cout<<"Type Tidak Ditemukan di Database"<<endl;

// Drum

//membuat fungsi IsEmpty untuk mengecek stack kosong atau tidak

bool IsEmptydrum()

if(penunjukdrum == -1)

return true;

else

return false;

//membuat fungsi IsFull untuk mengecek stack isi atau tidak

bool IsFulldrum()

if(penunjukdrum == maxim-1)

return true;

else

return false;

//membuat fungsi Push untuk memasukkan nilai kedalam stack yang sebelumnya dicek
terlebih dahulu apakah penuh atau belum

void pushdrum(int limit)

if(IsFulldrum())

cout<<"Database Type dan Harga Drum Sudah Penuh!";

17
getch();

else

penunjukdrum++;

cout<<penunjukdrum+1<<". Type Drum yang Akan Diinput = ";

cin>>item3[penunjukdrum].datadrum;

cout<<"Harga Drum yang Akan Diinput = ";

cin>>item3[penunjukdrum].harga3;cout<<endl;

cin.ignore(); //function agar string bisa terus berulang tanpa di


clear terlebih dahulu

void sortdrum(){

int tempHrg;//variabel untuk meletakkan harga sementara dari proses sorting

string tempTipe;//variabel untuk meletakkan type sementara dari proses


sorting

//dinamis

for (int i = 0; i <= penunjukdrum;i++){

for(int j=0;j<=penunjukdrum-1;j++){

if(item3[j].harga3 > item3[j+1].harga3){

tempHrg=item3[j].harga3;//sorting dengan
metode ascending untuk menentukan harga terendah dari drum

item3[j].harga3=item3[j+1].harga3;

item3[j+1].harga3=tempHrg;

tempTipe=item3[j].datadrum;

item3[j].datadrum=item3[j+1].datadrum;

item3[j+1].datadrum=tempTipe;

cout<<"Sorting Data Input Dinamis"<<endl<<endl;

for(int i=0 ; i<=penunjukdrum ; i++){

cout<<" Type = "<<item3[i].datadrum<<endl;

18
cout<<" Harga = Rp. "<<item3[i].harga3<<endl;

cout<<endl;

cout<<endl;

cout<<"Tekan Enter Untuk Melanjutkan"<<endl;

getch();

//statis

//value sudah terdeklarasi diawal

for(int i=0;i<6;i++){

for(int j=i+1;j<6;j++){

if(hargadrum[j]<hargadrum[i])

int min=hargadrum[i];//sorting dengan metode


ascending untuk menentukan harga terendah dari drum

hargadrum[i]=hargadrum[j];

hargadrum[j]=min;

std::string plus=typedrum[i];

typedrum[i]=typedrum[j];

typedrum[j]=plus;

cout<<"\nSorting Database/Statis :"<<endl<<endl;

for (int i=0;i<6;i++){

cout<<"Type : "<<typedrum[i]<<endl;

cout<<"Harga : Rp "<<hargadrum[i]<<endl;

//membuat fungsi Pop untuk mengambil nilai dari stack yang sebelumya dicek
terlebih dahulu apakah kosong atau belum

void popdrum()

if (IsEmptydrum())

cout<<"tidak ada data!";

19
}

else

cout<<"Data yang diambil adalah :


"<<item3[penunjukdrum].datadrum;

penunjukdrum--;

//membuat fungsi Clear untuk menghapus data dalam stack

void cleardrum()

penunjukdrum = -1;

cout<<"Sudah Dikosongkan!"<<endl;

//membuat fungsi untuk menampilkan isi dari stack

void viewdrum()

if (!IsEmptydrum())

for(int a=penunjukdrum;a>=0;a--) //looping untuk melihat data


stack sesuai jumlah data yang diinput

cout<<"Type : "<<item3[a].datadrum<<endl;

cout<<"Harga : "<<item3[a].harga3<<endl;

cout<<"==============================="<<endl;

else

cout<<"Data Kosong";

void datatersimpandrum()

20
system ("cls");

header();

cout<<"Status Data Baru Masuk :"<<endl<<endl;

viewdrum();//menampilkan isi dari stack drum, apakah sudah terisi atau


masih kosong.

cout<<endl<<endl;

void caridrum(){

system("cls");

string cari;

bool syrtdrum;//syarat untuk melakukan pencarian terhadap type drum, jika


benar maka akan ditampilkan.

bool syrt1drum;//jika salah, maka tidak akan menampilkan apa-apa

header();

cout<<"Pencarian Alat Musik Drum(Type)"<<endl<<endl;

cout<<"Masukan Type = ";

//cin>>cari;

cin.ignore();

getline(cin,cari);

for(int i=0 ; i<=penunjukdrum ; i++){

//dinamis

if(item3[i].datadrum == cari){

cout<<"Data Ditemukan di index no- "<<i<<endl;

cout<<"Type = "<<item3[i].datadrum<<endl;

cout<<"Harga = Rp. "<<item3[i].harga3<<endl;

syrtdrum = true;

if(syrtdrum!=true){

cout<<"Type Tidak Ditemukan di Data Yang Baru Masuk"<<endl<<endl;

cout<<"Tekan Enter Untuk Lanjut"<<endl;

getch();

//statis

for(int i=0;i<6;i++){

if(typedrum[i] == cari){

21
cout<<"Data Ditemukan di index no- "<<i<<endl;

cout<<"Type = "<<typedrum[i]<<endl;

cout<<"Harga = Rp. "<<hargadrum[i]<<endl;

syrt1drum = true;

if(syrt1drum!=true){

cout<<"Type Tidak Ditemukan di Database"<<endl;

//

//fungsi utama

main()

int jawab;

do

system("cls");

header();

cout<<"| 1. Daftar Harga Alat Musik


|"<<endl;

cout<<"| 2. Pendataan Alat Musik Masuk


|"<<endl;

cout<<"| 3. Penghapusan Data Alat Musik Tersimpan


|"<<endl;

cout<<"| 4. Pencarian Alat Musik


|"<<endl;

cout<<"| 5. Data Alat Musik Tersimpan


|"<<endl;

cout<<"| 6. Exit
|"<<endl;

cout<<"***************************************************************************
********************\n";

cout<<"Masukkan pilihan Anda [ 1/2/3/4/5/6 ]= ";

cin>>jawab;

switch(jawab)

case 1:

22
system("cls");

header();

daftarharga();

cout<<"Tekan Enter Untuk Kembali";

getch();

break;

case 2:

int jawabpilihan;

system("cls");

header();

cout<<"Pendataan Alat Musik Masuk"<<endl;

cout<<"1. Keyboard"<<endl;

cout<<"2. Gitar"<<endl;

cout<<"3. Drum"<<endl;

cout<<"Masukkan Pilihan Anda :


";cin>>jawabpilihan;cout<<endl;

if(jawabpilihan==1)

system("cls");

header();

cout<<"Pendataan Alat Musik


Keyboard"<<endl<<endl;

cout<<"Masukkan Jumlah Data Masuk = ";

cin>>limit;

for(int a=1; a<=limit; a++) //looping


untuk memunculkan data sebanyak yang diinput

pushkey(limit);//menginputkan sejumlah
data dengan formula di dalam fungsi pushkey

else if(jawabpilihan==2)

system("cls");

header();

cout<<"Pendataan Alat Musik


Gitar"<<endl<<endl;

cout<<"Masukkan Jumlah Data Masuk = ";

23
cin>>limit;

for(int a=1; a<=limit; a++) //looping


untuk memunculkan data sebanyak yang diinput

pushgitar(limit);//menginputkan sejumlah
data dengan formula di dalam fungsi pushgitar

else if(jawabpilihan==3){

system("cls");

header();

cout<<"Pendataan Alat Musik


Drum"<<endl<<endl;

cout<<"Masukkan Jumlah Data Masuk = ";

cin>>limit;

for(int a=1; a<=limit; a++) //looping


untuk memunculkan data sebanyak yang diinput

pushdrum(limit);//menginputkan sejumlah
data dengan formula di dalam fungsi pushdrum

else{

cout<<"Maaf, Pilihan Anda Tidak Tersedia,


Silahkan Tekan Enter Untuk Kembali"<<endl;

getch();

cout<<"Tekan Enter Untuk Kembali"<<endl;

getch();

break;

case 3:

int jwb,pilihan;

system("cls");

header();

cout<<"Penghapusan Data Alat Musik Tersimpan "<<endl;

cout<<"1. Keyboard"<<endl;

cout<<"2. Gitar"<<endl;

cout<<"3. Drum"<<endl;

cout<<"Masukkan Pilihan Anda : ";cin>>pilihan;cout<<endl;

24
if(pilihan==1){

system("cls");

header();

cout<<"Pilihan Untuk Menghapus Data"<<endl;

cout<<"1. Pop : Menghapus data yang terakhir


masuk"<<endl;

cout<<"2. Clear : Menghapus semua data yang


masuk"<<endl<<endl;

cout<<"Pilihan Anda : ";cin>>jwb;cout<<endl;

if(jwb==1){

popkey();//Menghapus data yang terakhir masuk


milik keyboard

else if (jwb==2){

clearkey();//Menghapus semua data yang masuk


milik keyboard

else{

cout<<"Maaf, Pilihan Anda Tidak Tersedia,


Silahkan Tekan Enter Untuk Kembali"<<endl;

getch();

else if(pilihan==2){

system("cls");

header();

cout<<"Pilihan Untuk Menghapus Data"<<endl;

cout<<"1. Pop : Menghapus data yang terakhir


masuk"<<endl;

cout<<"2. Clear : Menghapus semua data yang


masuk"<<endl<<endl;

cout<<"Pilihan Anda : ";cin>>jwb;cout<<endl;

if(jwb==1){

popgitar();//Menghapus data yang terakhir


masuk milik keyboard

else if (jwb==2){

cleargitar();//Menghapus semua data yang


masuk milik keyboard

25
else{

cout<<"Maaf, Pilihan Anda Tidak Tersedia,


Silahkan Tekan Enter Untuk Kembali"<<endl;

getch();

else if(pilihan==3){

system("cls");

header();

cout<<"Pilihan Untuk Menghapus Data"<<endl;

cout<<"1. Pop : Menghapus data yang terakhir


masuk"<<endl;

cout<<"2. Clear : Menghapus semua data yang


masuk"<<endl<<endl;

cout<<"Pilihan Anda : ";cin>>jwb;cout<<endl;

if(jwb==1){

popdrum();//Menghapus data yang terakhir


masuk milik keyboard

else if (jwb==2){

cleardrum();//Menghapus semua data yang masuk


milik keyboard

else{

cout<<"Maaf, Pilihan Anda Tidak Tersedia,


Silahkan Tekan Enter Untuk Kembali"<<endl;

getch();

else{

cout<<"Maaf, Pilihan Anda Tidak Tersedia,


Silahkan Tekan Enter Untuk Kembali"<<endl;

getch();

cout<<"\nTekan Enter Untuk Kembali"<<endl;

getch();

break;

case 4:

int pilih;

26
system("cls");

header();

cout<<"Pencarian Alat Musik"<<endl;

cout<<"1. Keyboard"<<endl;

cout<<"2. Gitar"<<endl;

cout<<"3. Drum"<<endl;

cout<<"Masukkan Pilihan Anda : ";cin>>pilih;cout<<endl;

if(pilih==1){

carikey();//menuju fungsi carikey untuk mengeksekusi


formula searching yang kemudian mencari type dari keyboard

else if(pilih==2){

carigitar();//menuju fungsi carikey untuk


mengeksekusi formula searching yang kemudian mencari type dari gitar

else if(pilih==3){

caridrum();//menuju fungsi carikey untuk


mengeksekusi formula searching yang kemudian mencari type dari drum

else{

cout<<"Maaf, Pilihan Anda Tidak Tersedia, Silahkan


Tekan Enter Untuk Kembali"<<endl;

getch();

cout<<"Tekan Enter Untuk Kembali"<<endl;

getch();

break;

case 5:

int pil;

system("cls");

header();

cout<<"Data Alat Musik Tersimpan"<<endl;

cout<<"1. Keyboard"<<endl;

cout<<"2. Gitar"<<endl;

cout<<"3. Drum"<<endl;

cout<<"Masukkan Pilihan Anda : ";cin>>pil;cout<<endl;

if(pil==1){

27
datatersimpankey();//menampilkan data yang dimiliki
oleh keyboard

sortkey();//sorting untuk data dinamis dan statis


milik keyboard secara ascending

else if(pil==2){

datatersimpangitar();//menampilkan data yang


dimiliki oleh gitar

sortgitar();//sorting untuk data dinamis dan statis


milik gitar secara ascending

else if(pil==3){

datatersimpandrum();//menampilkan data yang dimiliki


oleh drum

sortdrum();//sorting untuk data dinamis dan statis


milik drum secara ascending

else{

cout<<"Maaf, Pilihan Anda Tidak Tersedia, Silahkan


Tekan Enter Untuk Kembali"<<endl;

getch();

cout<<"Tekan Enter Untuk Kembali"<<endl;

getch();

break;

case 6:

cout<<"\nTerimakasih Telah Menggunakan Aplikasi Ini"<<endl;

getch();

break;

default://digunakan ketika user menginputkan pilihan yang tidak


berada di dalam switch case, yang kemudian akan mengembalikan ke menu awal

cout<<"Maaf, Pilihan Anda Tidak Tersedia, Silahkan Tekan


Enter Untuk Kembali"<<endl;

getch();

while (jawab !=6);

28
2.4 PEMBAHASAN

1. Pilihan menu pertama :


Menampilkan daftar harga alat musik

2. Pilihan menu kedua :


Penginputan data alat musik

29
3. Pilihan ketiga :
Penghapusan data

30
4. Pilihan keempat :
Pencarian data statis

31
5. Pilihan kelima :

Menampilkan data yang baru masuk dan melakukan pengurutan


data berdasarkan harga terendah ke harga tertinggi

32
Menampilkan data statis dan melakukan pengurutan data
berdasarkan harga terendah ke harga tertinggi

6. Pilihan keenam :
Keluar dari program

33
BAB III

LAMPIRAN

3.1 TUGAS MASING MASING ANGGOTA KELOMPOK


a) Alviano Dwitiya Nareswara La Kahia : Stack
b) Fahrizal Bayu Trisna Putra : Searching Statis &
Dinamis
c) M Arib Dzaki Fakhir : Sorting Dinamis
d) Livia Andien Izzati : Struct & Proses
Sorting Statis

34
3.2 ALAMAT LINK VIDEO FINAL PROJECT

https://www.youtube.com/watch?v=C6a9cEfkg2Y

35

Anda mungkin juga menyukai