Praktikum 14: struktur
Nama: Eka Kurniawan Zein
NIM: 24026004
PROGRAM STUDI D3 TEKNOLOGI INFORMASI
POLITEKNIK SEMEN INDONESIA GRESIK
01/03/2025
#include <iostream>
#include <iomanip>
struct Prod {
char cName[20];
int iId;
double dPrice;
int iNo;
char cSupp[25];
};
int main() {
Prod prodOne = {"Minyak Zaitun", 101, 60.000, 15, "CV Herbal Indonesia"};
Prod prodTwo;
std::cout << "Masukkan informasi untuk produk:" << std::endl;
std::cout << "Dimulai dari nama produk: ";
std::cin.getline(prodTwo.cName, 20);
std::cout << "ID produk: ";
std::cin >> prodTwo.iId;
std::cout << "Harga: ";
std::cin >> prodTwo.dPrice;
std::cout << "Berapa banyak item yang tersedia dalam stok? ";
std::cin >> prodTwo.iNo;
std::cin.ignore();
std::cout << "Siapa yang memasok produk: ";
std::cin.getline(prodTwo.cSupp, 25);
std::cout << std::left << std::setw(15) << "Prodname" << std::setw(12) << "Product id"
<< std::setw(8) << "Price" << std::setw(12) << "Quantity"
<< std::setw(15) << "Supplier" << std::endl;
std::cout << std::setw(15) << prodOne.cName << std::setw(12) << prodOne.iId
<< std::setw(8) << prodOne.dPrice << std::setw(12) << prodOne.iNo
<< std::setw(15) << prodOne.cSupp << std::endl
<< std::endl;
std::cout << std::setw(15) << prodTwo.cName << std::setw(12) << prodTwo.iId
<< std::setw(8) << prodTwo.dPrice << std::setw(12) << prodTwo.iNo
<< std::setw(15) << prodTwo.cSupp << std::endl
<< std::endl;
return 0;
}
#include <iostream>
struct Prod {
char cName[20];
int iId;
double dPrice;
int iNo;
char cSupp[25];
};
int main() {
Prod sProds[3];
for (int i = 0; i < 3; i++) {
std::cout << "Masukkan nilai untuk no produk " << i + 1 << std::endl;
std::cout << "Mulailah dengan nama produk: ";
std::cin.ignore();
std::cin.getline(sProds[i].cName, 20);
std::cout << "ID produk: ";
std::cin >> sProds[i].iId;
std::cout << "Harga: ";
std::cin >> sProds[i].dPrice;
std::cout << "Berapa banyak stoknya? ";
std::cin >> sProds[i].iNo;
std::cin.ignore();
std::cout << "Siapa yang memasok produk: ";
std::cin.getline(sProds[i].cSupp, 25);
}
// Cetak informasi produk
for (int i = 0; i < 3; i++) {
std::cout << "Informasi Produk " << i + 1 << ":" << std::endl;
std::cout << "Nama Produk: " << sProds[i].cName << std::endl;
std::cout << "ID Produk: " << sProds[i].iId << std::endl;
std::cout << "Harga: " << sProds[i].dPrice << std::endl;
std::cout << "Stok: " << sProds[i].iNo << std::endl;
std::cout << "Pemasok: " << sProds[i].cSupp << std::endl << std::endl;
}
return 0;
}
#include <iostream>
struct Prod {
char cName[20];
int iId;
double dPrice;
int iNo;
char cSupp[25];
};
int main() {
Prod sProds[3] = {
{"Minyak Makanan", 101, 25000, 100, "PT. Herbal Indonesia"},
{"Baby Oil", 102, 20000, 25, "CV Baby Production"},
{"Minyak Boiler", 103, 65000, 30, "PT. Shell Indonesia"}
};
Prod *pProd = sProds; // Langsung gunakan nama array sebagai pointer
for (int i = 0; i < 3; i++, pProd++) {
std::cout << "Product Name: " << pProd->cName << "\n"
<< "Product ID: " << pProd->iId << "\n"
<< "Price: " << pProd->dPrice << "\n"
<< "Stock: " << pProd->iNo << "\n"
<< "Supplier: " << pProd->cSupp << "\n\n";
}
return 0;
}
#include <iostream>
struct Prod {
char ProductName[50];
double Price;
int Stock;
};
int main() {
int iQty;
std::cout << "Berapa produk yang harus dimasukkan? ";
std::cin >> iQty;
std::cin.ignore(); // Membersihkan buffer setelah input jumlah produk
Prod *pProd = new Prod[iQty];
for (int i = 0; i < iQty; i++) {
std::cout << "Masukkan nama produk ke-" << i + 1 << ": ";
std::cin.getline(pProd[i].ProductName, 50);
std::cout << "Masukkan harga produk ke-" << i + 1 << ": ";
std::cin >> pProd[i].Price;
std::cout << "Masukkan stok produk ke-" << i + 1 << ": ";
std::cin >> pProd[i].Stock;
std::cin.ignore(); // Membersihkan buffer setelah input angka agar getline tidak terlewati
}
std::cout << "\nData Produk:\n";
for (int i = 0; i < iQty; i++) {
std::cout << "Produk ke-" << i + 1 << ":\n";
std::cout << "Nama: " << pProd[i].ProductName << std::endl;
std::cout << "Harga: " << pProd[i].Price << std::endl;
std::cout << "Stok: " << pProd[i].Stock << std::endl << std::endl;
}
delete[] pProd;
return 0;
}
#include <iostream>
struct Prod {
char cName[20];
int iId;
double dPrice;
int iNo;
char cSupp[25];
};
void printOnScreen(Prod &rProd) {
std::cout << rProd.cName << '\t'
<< rProd.iId << "\t"
<< rProd.dPrice << '\t'
<< rProd.iNo << '\t'
<< rProd.cSupp << std::endl
<< std::endl;
}
int main() {
Prod prodOne = {"Minyak Makanan", 101, 25000, 100, "PT. Herbal Indonesia"};
printOnScreen(prodOne);
return 0;
}
#include <iostream>
struct Prod {
char cName[20];
int iId;
double dPrice;
int iNo;
char cSupp[25];
};
void printOnScreen(const Prod p[], const int n) {
for (int i = 0; i < n; i++) {
std::cout << p[i].cName << '\t'
<< p[i].iId << '\t'
<< p[i].dPrice << '\t'
<< p[i].iNo << '\t'
<< p[i].cSupp << std::endl
<< std::endl;
}
}
int main() {
Prod sProds[3] = {
{"Minyak Makanan", 101, 25000, 100, "PT. Herbal Indonesia"},
{"Baby Oil", 102, 20000, 25, "CV Baby Production"},
{"Minyak Boiler", 103, 65000, 30, "PT. Shell Indonesia"}
};
printOnScreen(sProds, 3);
return 0;
}
#include <iostream>
struct Prod {
char cName[20];
int iId;
double dPrice;
int iNo;
char cSupp[25];
};
void printOnScreen(Prod *p, const int n) {
for (int j = 0; j < n; j++) {
std::cout << p->cName << '\t'
<< p->iId << '\t'
<< p->dPrice << '\t'
<< p->iNo << '\t'
<< p->cSupp << std::endl
<< std::endl;
p++; // Menggunakan pointer arithmetic untuk berpindah ke elemen berikutnya
}
}
int main() {
Prod sProds[3] = {
{"Minyak Makanan", 101, 25000, 100, "PT. Herbal Indonesia"},
{"Baby Oil", 102, 20000, 25, "CV Baby Production"},
{"Minyak Boiler", 103, 65000, 30, "PT. Shell Indonesia"}
};
Prod *pProd = &sProds[0]; // Pointer menunjuk ke array sProds
printOnScreen(pProd, 3); // Memanggil fungsi untuk mencetak data
return 0;
}
Struktur data memungkinkan Anda untuk mengelompokkan data yang terkait menjadi satu kesatuan, sehingga memudahkan dalam pengelolaan dan manipulasi data. Contohnya, struktur seperti struct di C atau class di OOP.
Dengan menggunakan struktur, Anda dapat mengakses dan memodifikasi data secara lebih efisien, terutama ketika berhadapan dengan data yang kompleks atau dalam jumlah besar.
Struktur data memungkinkan Anda untuk memodelkan data sesuai dengan dunia nyata, seperti membuat objek yang merepresentasikan entitas seperti mahasiswa, mobil, atau akun bank.
Pemahaman tentang struktur dasar seperti array, struct, atau class adalah fondasi untuk mempelajari struktur data yang lebih kompleks seperti linked list, stack, queue, tree, dan graph.
Belajar struktur adalah keterampilan dasar yang penting di banyak bahasa pemrograman, seperti C, C++, Java, Python, dan lainnya. Konsep ini juga berlaku dalam pengembangan aplikasi berbasis objek (OOP).