LAPORAN PRAKTIKUM

Pemrograman Terstruktur

Praktikum 14: struktur

Logo Kampus

Nama: Eka Kurniawan Zein

NIM: 24026004

PROGRAM STUDI D3 TEKNOLOGI INFORMASI
POLITEKNIK SEMEN INDONESIA GRESIK

01/03/2025

Coding 1: Program Struktur.
membuat struktur produk sesuai dengan contoh sebelumnya dan dua variabel struktur dengan informasi produk. Salah satunya harus dimulai langsung dalam deklarasi dan yang lainnya seharusnya diberikan informasi dari pengguna. Terakhir, program harus mencetak tabel produk.

Coding Program

#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;
}

Output Program

Grafik JSP

Penjelasan Program




Coding 2 :Array dengan Variabel Struktur

Coding Program

#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;
}

Output Program

Grafik JSP

Penjelasan Program




Coding 3:Pointer ke Struktur

Coding Program

#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;
}

Output Program

Grafik JSP

Penjelasan Program




Coding 4: Struktur di Memori Dinamis

Coding Program

#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;
}


Output Program

Grafik JSP

Penjelasan Program




Coding 5 Struktur Sebagai Fungsi Parameter :a.Parameter Referensi

Coding Program

#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;
}

Output Program

Grafik JSP

Penjelasan Program




Coding 5 :b Array Parameter

Coding Program

#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;
}

Output Program

Grafik JSP

Penjelasan Program




Coding 5 :c Parameter Pointer

Coding Program

#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;
}

Output Program

Grafik JSP

Penjelasan Program




Analisa Mengapa Perlu Belajar Struktur

📂 Mengapa Belajar Struktur Penting dalam Pemrograman? 📂

  • 🚀 Organisasi Data yang Lebih Baik

    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.

  • 📝 Efisiensi dalam Pengelolaan Data

    Dengan menggunakan struktur, Anda dapat mengakses dan memodifikasi data secara lebih efisien, terutama ketika berhadapan dengan data yang kompleks atau dalam jumlah besar.

  • 🔍 Pemodelan Data yang Lebih Realistis

    Struktur data memungkinkan Anda untuk memodelkan data sesuai dengan dunia nyata, seperti membuat objek yang merepresentasikan entitas seperti mahasiswa, mobil, atau akun bank.

  • ⚡ Dasar untuk Struktur Data yang Lebih Kompleks

    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.

  • 🌍 Keterampilan Dasar dalam Banyak Bahasa Pemrograman

    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).

Eksplorasi Soal-Soal

Ke Halaman Soal