//Kelas ini berisi data yang hendak disimpan ke dalam database

dokumen-dokumen yang mirip
Pemrograman I Bab VI Pengulangan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Baca Tulis File. Untuk dapat membaca atau menulis data dari/ke sebuah file maka langkah yang perlu dilakukan adalah:

File I/O in C++ Dr. Taufik Fuadi Abidin, M.Tech Irvanizam Zamanhuri, M.Sc

Pemrograman I Bab III Tipe Data, Variabel, dan Operasi Perhitungan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

REVIEW ARRAY. Institut Teknologi Sumatera

Chapter 9 Operator Types dan Operator Overloading

LATIHAN SOAL (FUNGSI & PROSEDUR)

PENGANTAR KOMPUTER & SOFTWARE II. Array (Part II) Tim Pengajar KU Institut Teknologi Sumatera

Penggunaan Private dan Public dalam C++

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

Input/Output with files

PERCABANGAN P E N G E N A L A N P R O G R A M S T U D I T E K N I K I N F O R M AT I K A. Institut Teknologi Sumatera

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

P02 Menulis dan Membaca Berkas Teks

Pemrograman I Bab V Percabangan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Minggu III STRUKTUR PEMILIHAN (KONTROL PROGRAM)

DISUSUN OLEH BAB II C DAN C++ berikut ini: pilih radio HAL 1

PEMROGRAMAN BERORIENTASI OBJEK. Input / Output. Budhi Irawan, S.Si, M.T

ARRAY / LARIK. Oleh : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

INF-103 Pemrograman II VECTOR & STRING. Dr. Taufik Fuadi Abidin, M.Tech Irvanizam Zamanhuri, M.Sc. Program Studi Informatika FMIPA UNIVERSITAS KUALA

Perulangan, Percabangan, dan Studi Kasus

VARIABEL & TIPE DATA PEMROGRAMAN C++

P03 Sekilas Array dan Penggunan Berkas Teks

Tipe Data, Identifier, Operator dan Control Statement

Melakukan Operasi Logika

IF2281 Pemrograman Berorientasi Objek Program kecil Pelengkap Diktat. import java.io.*; import java.util.scanner; class IO {

Pengantar Pemrograman

Kurikulum Qt. Chapter 8 - Polymorphism. Polimorfisme. Problema Pewarisan Tunggal (Single Inheritance)

Vigènere Chiper dengan Modifikasi Fibonacci

PENGANTAR KOMPUTER & SOFTWARE II

Pada prinsipnya operasi yang dilakukan pada file terdiri dari 3 tahapan : 1. Membuka file 2. Melakukan pemrosesan pada file 3.

LAPORAN PRAKTIKUM IV. Oleh :

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

Pemrograman I Bab IV Input dan Output. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

File & Stream. Kegunaan File : file : ini. dengan. iostream.h) suatu. stream, Jika. dapat menghubungkan. mendeklarasikan. kita.

Penerapan Divide and Conquer dalam Membandingkan Alur Proses 2 Source Code

Manage Sort STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 4 : 30 Juni 2015

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

P04 Mengurutkan Data dan Waktu Proses

MODUL 9 Material Texture

LAMPIRAN PUSTAKA I/O C++

LAPORAN PRAKTIKUM SEMENTARA PENGANTAR PEMROGAMAN BAHASA C++

PEMROGRAMAN BERORIENTASI OBJEK. Tipe Data. Budhi Irawan, S.Si, M.T

PERULANGAN P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

Array (Tabel) [DalamBahasaC++]

MODUL 1 Alur Seleksi dengan C++

Identifier dan Tipe Data

PENGANTAR KOMPUTER & SOFTWARE II. Pengulangan (For) Tim Pengajar KU Institut Teknologi Sumatera

1.4 Struktur Program Pada C++ Program C maupun C++ secara umum tersusun dari beberapa bagian utama, yaitu :

Control Structure. Suatu program tidak hanya linear/berurut, tetapi dapat bercabang, mengulang kode, atau mengambil keputusan

Laporan Praktikum TMD04 Pemrograman Bahasa C++

P3 Dasar Struktur Data TIF42/SIF42

Selection / Pemilihan PEMILIHAN

STRUKTUR DASAR PEMROGRAMAN

ALGORITMA RINTA KRIDALUKMANA SISKOM UNDIP

SUB PROGRAM P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

1. Modifier Digunakan untuk memberikan batasan atau penanda bagaimana kelas lain menggunakan attribut, constructor dan method dari suatu kelas.

C V.S. C++ Oleh : Rasim

Pencarian (Searching)

Tipe Data, Variabel, Input/Output

MODUL 2 TIPE DATA, KONSTANTA DAN VARIABEL

Chapter 2 Tipe Data, Identifier, Operator dan Control Statement

1440 Menit Belajar C++ Untuk Pemula

Kisi-Kisi Ujian Akhir Semester Algoritma dan Pemrograman Lanjut

Kurikulum Qt. Chapter 5 Pointer dan References. Agenda. Apa itu Pointer? Memory Komputer. Mengambil Alamat Memory dari Variabel

Class & Sequence Diagram

A. TUJUAN PEMBELAJARAN

BAB 1 PENDAHULUAN 1.1 Alasan Pemilihan Judul 1.2 Latar Belakang Masalah 1.3 Dasar Teori

Kurikulum Qt. Chapter 4 Function. Fungsi

Stack STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 5 : 6 Juli 2015

MODUL 1 PENGENALAN PROGRAM C++ DAN PERNYATAAN MASUKAN-KELUARAN

PERTEMUAN 2 KONSEP DASAR PEMROGRAMAN

PENGENALAN DAN PENERAPAN OOP PADA C++


Game Technology Design Course College of Multi Media Yogyakarta Spring Tri Anggraeni, S.Kom., M.Sc.

STRUKUR KENDALI : PERCABANGAN

LAPORAN PRAKTIKUM ALGORITMA & STRUKTUR DATA II PROGRAM KASIR KANTIN DENGAN MENGGUNAKAN BAHASA PEMROGRAMAN C++

Queue Priority Queue STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 6 : 7 Juli 2015

int spasi = 0; hurufhidup = 0;

P07 Konstanta, Makro, Struktur, dan Kelas

Modul PEMROGRAMAN TERSTRUKTUR

PROGRAM KALKULATOR CONTOH PROGRAM KALKULATOR 1 :

Kondisi dan Perulangan

Object Oriented Programming (OOP)

P06 Pointer dan Fungsi

TUTORIAL DASAR C++ BELAJAR C++ DARI NOL. Nor Kandir. Lab B201 - Teknik Elektro ITS Surabaya

Pada akhir pertemuan ini, diharapkan mahasiswa memiliki kemampuan untuk: Menggunakan struktur kendali pencabangan bersyarat dalam bahasa pemrograman.

PEMROGRAMAN BERORIENTASI OBJEK. Operator. Budhi Irawan, S.Si, M.T

Pemrograman Berorientasi Obyek (C++) Departemen Ilmu Komputer FMIPA IPB 2013

PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama).

BAB VI. STATEMENT CONTROL

KUMPULAN PROGRAM C++ TUGAS AKHIR MATA KULIAH PBP D I S U S U N OLEH

Struct Lanjutan: Studi Kasus

PEMROGRAMAN BERORIENTASI OBJEK. Pengulangan. Budhi Irawan, S.Si, M.T

StrukturDasarProgram Prosedural (dalambahasac++)

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2016

Program Menggabungkan 2 Tipe String

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

Transkripsi:

#include <cstdlib> #include <iostream> #include <string.h> #include <vector> #include <fstream> using namespace std; //Prototype dari kelas Mahasiswa //Kelas ini berisi data yang hendak disimpan ke dalam database class Mahasiswa public: string* setnama(); string getnama(); string* setnoinduk(); string getnoinduk(); string* setalamat(); string getalamat(); private: string nama; string noinduk; string alamat; ; //Prototype & Sekaligus Impelementasi dari kelas DB

//Kelas ini digunakan untuk mengontrol proses penyimpanan data class DB public: DB() this->mhs = new vector<mahasiswa>; ~DB() delete (this->mhs); this->mhs = 0; void tambahdata() //tambah data baru cout << "****** [TAMBAH DATA BARU] ******" << endl; Mahasiswa mhsbaru; cout << "Input Nama : "; cin.sync(); getline(cin,*mhsbaru.setnama()); cout << "Input No. Induk : "; cin.sync(); getline(cin,*mhsbaru.setnoinduk()); cout << "Input Alamat : ";

cin.sync(); getline(cin,*mhsbaru.setalamat()); //simpan ke vector this->mhs->push_back(mhsbaru); void lihatdata() //tampilkan semua data cout << "****** [LIHAT SEMUA DATA] ******" << endl; for(unsigned int i=0;i<this->mhs->size();i++) lihatdata(i); cout<< "---------- *********** ---------" << endl; void lihatdata(unsigned int i) cout<< "Nama : " << this->mhs->at(i).getnama() << endl; cout<< "No. Induk : " << this->mhs->at(i).getnoinduk() << endl; cout<< "Alamat : " << this->mhs->at(i).getalamat() << endl; int carinim()

int pos=-1; string nim; cout<<"masukan NIM = "; getline(cin,nim); system("cls"); cout << "****** [DATA YANG DICARI] ******" << endl; for(unsigned int i=0;i<this->mhs->size();i++) //lakukan pencarian bool ketemu = nim.find(this->mhs->at(i).getnoinduk())==0; //kalau ketemu, tampilkan hasil pencarin if(ketemu) pos = i; lihatdata(i); break; //kalau tidak ketemu, tampilkan pesan : "tidak ketemu" if(pos==-1)

cout<<"tidak Ketemu" << endl; return pos; bool writetofile(string fname="dbmahasiswa.csv") char filename[255]; //copy isi fname ke filename strcpy(filename,fname.c_str()); ofstream myfile(filename); for(unsigned int i=0;i<this->mhs->size();i++) ","; myfile << "," << "\"" << this->mhs->at(i).getnama() << "\"" << myfile << "\"" << this->mhs->at(i).getnoinduk() << "\"" << ","; endl; myfile << "\"" << this->mhs->at(i).getalamat() << "\"" << "," << //myfile.write( *(const Mahasiswa*) &this->mhs->at(i), sizeof(this- >mhs->at(i)));

myfile.close(); cout << "Tersimpan di File : " << filename << "!!" << endl; return true; bool readfromfile(string fname="dbmahasiswa.csv") char filename[255]; //copy isi fname ke filename strcpy(filename,fname.c_str()); ifstream myfile(filename); if(myfile.is_open()) //hapus data lama delete (this->mhs); this->mhs = 0; //persiapkan alamat baru dimemori utk menyimpan data this->mhs = new vector<mahasiswa>; Mahasiswa datamahasiswa;

char data[255]; int j=-4; unsigned int kolom = 0; for(unsigned int i=0; myfile.getline(data,255,',');i++) if(data[0]!='\n') //menghapus tanda kutip pada awal dan akhir kata string sdata = data; if(sdata.size()!=0) sdata.copy(data,sdata.size()-2,1); data[sdata.size()-2] = 0; //simpan data ke dalam vector if(kolom==1) datamahasiswa.setnama()->assign(data); else if(kolom==2) datamahasiswa.setnoinduk()->assign(data); else

if(kolom==3) datamahasiswa.setalamat()->assign(data); if(kolom==3) mhs->push_back(datamahasiswa); kolom=1; else kolom++; myfile.close(); cout << "Baca dari File : " << fname << " telah berhasil" << endl << endl; //kembalikan nilai TRUE sebagai tanda kalau proses

//pembacaan berhasil dilakukan return true; else cout << "Baca dari File : " << fname << " gagal dilakukan" << endl << endl; //kembalikan nilai FALSE sebagai tanda kalau proses //pembacaan TIDAK berhasil dilakukan return false; private: vector<mahasiswa> *mhs; ; int main(int argc, char *argv[]) DB database; unsigned int pilihan;

while(1) //Menu utama cout<<" [ PROGRAM DATABASE SEDERHANA ] "<<endl; cout<<" 1. Tambah Data cout<<" 2. Lihat Semua Data cout<<" 3. Cari Berdasarkan NIM cout<<" 4. Simpan Ke File "<< endl; "<< endl; " << endl; " << endl; cout<<" 5. Buka Dari File cout<<" 6. Keluar " << endl; " << endl; cout<<" Pilihan Anda (1/.. /6) : "; cin >> pilihan; cin.sync(); system("cls"); switch(pilihan) case 1: database.tambahdata(); break; case 2: database.lihatdata(); break;

case 3: database.carinim(); break; case 4: database.writetofile(); break; case 5: database.readfromfile(); //jika user memilih keluar, maka program akan berakhir if(pilihan==6) break; system("pause"); system("cls"); return EXIT_SUCCESS; //Implementasi Kelas Mahasiswa

string* Mahasiswa::setNama() return &this->nama; string Mahasiswa::getNama() return this->nama; string* Mahasiswa::setNoInduk() return &this->noinduk; string Mahasiswa::getNoInduk() return this->noinduk; string* Mahasiswa::setAlamat() return &this->alamat;

string Mahasiswa::getAlamat() return this->alamat;