Materi Pertemuan PENGOLAHAN FILE LANJUT

Ukuran: px
Mulai penontonan dengan halaman:

Download "Materi Pertemuan PENGOLAHAN FILE LANJUT"

Transkripsi

1 Materi Pertemuan PENGOLAHAN FILE LANJUT Disusun oleh : Danang Junaedi OBJEKTIF Dalam bab ini mahasiswa mempelajari tentang pengenalan : 1. Proses pengelolaan data pada file sequential menggunakan kategori tertentu(konsolidasi tanpa separator) dan menggunakan simbol tertentu sebagai pembatas kelompok data (Konsolidasi dengan menggunakan separator) 2. Proses penggabungan data pada file sequential (merging) 3. Proses pemisahan data pada file sequential (splitting) 4. Proses pembaharuan data pada file sequential (updating) 5. Pembuatan file library header TUJUAN & SASARAN Setelah mempelajari materi dalam pertemuan ini mahasiswa diharapkan dapat : 1. Mengetahui bagaimana pengelolaan data pada file sequential pada proses pengelompokan data (konsolidasi), penggabungan data, pemisahan data serta pembaharuan data menggunakan bahasa pemrograman C/C Mengetahui penerapan proses pengelolaan data pada file sequential menggunakan bahasa pemrograman C/C++ 3. Mengetahui bagaimana membuat pengelolaan data pada file sequential menggunakan bahasa pemrograman C/C Mengetahui bagaimana membuat file library header menggunakan bahasa pemrograman C/C++ WAKTU & TEMPAT 1. 4 x (2 x 50) menit pertemuan di kelas 2. 5 x (2 x 60) menit pertemuan di laboratorium komputer 3. 5 x (2 x 50) menit belajar di rumah IF - UTAMA Versi/Revisi : 1/1 Halaman : II-V - 1

2 Sebelumnya kita telah mempelajari dasar pengelolaan data pada file sequential di mata kuliah Pemrograman Terstruktur I untuk proses pembuatan file, input data ke dalam file, dan membaca data dari dalam file sequential. Pada sub bab sub bab berikut ini anda akan mempelajari lebih lanjut materi pengelolaan file, selain itu juga mempelajari pembuatan file library header pada C atau C Kelompok Data Pada File Sequential Seperti kita ketahui sebelumnya, bahwa file adalah kumpulan data dengan kapasitas yang cukup besar dan disimpan dalam media penyimpanan sekunder, sehingga sifatnya permanen. Dikarenakan jumlah data yang cukup banyak itulah, kadang kita akan mengalami kesulitan jika diminta untuk memberikan informasi mengenai data yang ada di dalam file secara ringkas atau singkat. Atas dasar inilah proses pengelompokan data dilakukan, sehingga proses penyusunan informasi yang merupakan kesimpulan dari seluruh data yang ada dalam file akan lebih mudah dilakukan. Pada mata kuliah Pemrograman Terstruktur II ini, kita tidak akan mempelajari bagaimana proses pengelompokan data, namun kita hanya memanfaatkan file yang data-data didalamnya sudah terkelompok atau tersusun berdasarakan urutan atau aturan tertentu. Sehingga jika anda penasaran dengan bagaimana proses pembuatan atau penyusunan data mejadi kelompok data tertentu bisa anda pelajari sendiri. Data-data dalam file sequential dapat dikelompokan dengan menggunakan simbol tertentu yang digunakan sebagai pembatas antar kelompok data atau biasa disebut separator. Selain itu juga, data hanya disusun berdasarkan urutan atau susunan tertentu, sehingga tidak ada batas khusus antar kelompok data. Sebagai ilustrasi anda dapat lihat Tabel 1 berikut ini : Tabel 1. Ilustrasi kelompok data dalam file Kelompok data tanpa pembatas Kelompok data menggunakan pembatas No.Sales Kd-Brg Jumlah No.Sales Kd-Brg Jumlah A-010 Brg-11X 10 *** *** 0 A-010 Brg-22Y 25 A-010 Brg-11X 10 A-019 Brg-10A 15 A-010 Brg-22Y 25 A-101 Brg-10A 20 *** *** 0 Separator/ A-101 Brg-22Y 10 A-019 Brg-10A 15 Pembatas Data A-101 Brg-33P 20 *** *** 0 A-212 Brg-11X 50 A-101 Brg-10A 20 A-212 Brg33P 25 A-101 Brg-22Y 10 A-101 Brg-33P 20 *** *** 0 A-212 Brg-11X 50 A-212 Brg33P 25 *** *** 0 Untuk membuat file seperti di atas, dapat kita lakukan dengan dua cara, yaitu 1. Membuat program untuk proses input data Disini anda sebagai programmer terpaksa harus membuat program khusus untuk memasukan data ke dalam file. File yang dihasilkan tergantung program yang dibuat, anda bisa menghasilkan file teks ataupun file biner. Jika ingin melihat isi file anda bisa menggunakan aplikasi pemroses teks (untuk file teks) atau terpaksa lagi harus membuat program khusus untuk proses pembacaan data dalam file (untuk file biner). Gimana programnya??? lihat lagi materi matakuliah Pemrograman Terstruktur I, atau anda bisa lihat contoh di modul praktikum (sekalipun program tersebut sengaja dibuat salah) 2. Menggunakan aplikasi pemroses teks Aplikasi pemroses teks yang bisa anda gunakan diantaranya wordpad, notepad, textpad dan lainnya. File yang dihasilkan dengan menggunakan cara ini biasanya adalah file teks. Cara ini memang jauh lebih mudah dibandingkan dengan membuat program khusus, selain itu juga kita bisa melihat atau mebaca isi dari file tersebut menggunakan aplikasi pemroses teks yang ada. Namun jika mempertimbangkan IF - UTAMA Versi/Revisi : 1/1 Halaman : II-V - 2

3 keamanan data, cara ini kurang aman, karena setiap orang pasti bisa membaca isi dari file tersebut. 1.2 Pengelolaan Kelompok Data Pada File Sequential Berdasarkan ilustrasi pada tabel 1 di atas, kita bisa membuat kesimpulan informasi pada file tersebut, misalnya jumlah total barang untuk seluruh, jumlah total barang per sales, jumlah rata-rata seluruh barang dan sebagainya. Untuk mendapatkan informasi-informasi tersebut kita harus menyesuaikan dengan bentuk data dalam file, apakah menggunakan pembatas atau tidak, karena hal ini menentukan bagaimana kita harus menyusun algoritma dan mengimplementasikannya dalam program. Dalam mata kuliah algoritma II anda sudah mendapatkan bentuk atau struktur pengelolaan data dalam file dengan dan tanpa menggunakan pembatas. Pada tabel 2, tabel 3, tabel 4 dan tabel 5 berikut ini anda dapat melihat konversi dari algoritma pengelolaan data pada file sequential yang menggunakan pembatas dan tidak menggunakan pembatas berdasarkan data pada table 1 di atas. Struktur dalam tabel tersebut dapat anda kembangkan tergantung kebutuhan informasi yang diminta. Tabel 2. Konversi struktur algoritma ke dalam bahasa C++ (library header : stdio.h) untuk pengelolaan data pada file sequential yang tidak menggunakan pembatas (konsolidasi tanpa separator {Keytype adalah suatu type dari kunci rekaman, Valtype adalah type dari harga rekaman {Keytype dan Valtype harus terdefinisi type rekaman : < KeyIn : Keytype, direkam ArsipIn : SEQFILE of {input terurut menurut kunci (*)RekIn : rekaman (1) EOF : <mark, Val> Current_categ : Keytype {identifikasi seluruh kategori yang sedang diproses : OPEN(ArsipIn, RekIn) {minimal ada satu kategori Inisialisasi_seluruh_categ REPEAT {Proses satu kategori Init-categ Current-categ RekIn.KeyIn REPEAT Proses-current-categ READ(ArsipIn, Rek) UNTIL (keyin <> current-categ) Terminasi-categ UNTIL EOP Terminasi-seluruh-kategori CLOSE(ArsipIn) #include <stdio.h> #include <string.h> Typedef struct{ KeyType KeyIn, ValType ValInrekaman; FILE *ArsipIn; rekaman RekIn; KeyType Current_Kateg; ArsipIn = fopen( Nama File, rt ); If (feof(arsipin)) { //Kasus Kosong //baca record pertama fscanf(arsipin, format KeyType & ValType, RekIn.KeyIn, RekIn.ValIn); // Inisialisasi_seluruh_categ loop{ //Init_categ Current_Kateg = RekIn.KeyIn; atau strcpy(current_kateg, RekIn.KeyIn); loop{ //Proses current_kateg fscanf(arsipin, format KeyType & ValType,RekIn.KeyIn, RekIn.ValIn); until(rekin.keyin!= current_categ); //Terminasi_Kateg until(feof(arsipin)); //Terminasi seluruh kategori fclose(arsipin); IF - UTAMA Versi/Revisi : 1/1 Halaman : II-V - 3

4 Tabel 3. Konversi struktur algoritma ke dalam bahasa C++ (library header : fstream.h) untuk pengelolaan data pada file sequential yang menggunakan pembatas (konsolidasi tanpa separator {Keytype adalah suatu type dari kunci rekaman, Valtype adalah type dari harga rekaman {Keytype dan Valtype harus terdefinisi type rekaman : < KeyIn : Keytype, direkam ArsipIn : SEQFILE of {input terurut menurut kunci (*)RekIn : rekaman (1)EOF : <mark, Val> Current_categ : Keytype {identifikasi seluruh kategori yang sedang diproses : OPEN(ArsipIn, RekIn) {minimal ada satu kategori Inisialisasi_seluruh_categ REPEAT {Proses satu kategori Init-categ Current-categ RekIn.KeyIn REPEAT Proses-current-categ READ(ArsipIn, Rek) UNTIL (keyin <> current-categ) Terminasi-categ UNTIL EOP Terminasi-seluruh-kategori CLOSE(ArsipIn) #include <fstream.h> #include <string.h> Typedef struct{ KeyType KeyIn, ValType ValInrekaman; ofstream ArsipIn; atau fstream ArsipIn; rekaman RekIn; KeyType Current_Kateg; ArsipIn.open( Nama File,ios::out); If (ArsipIn.eof()) { //Kasus Kosong //baca record pertama ArsipIn.read((char *) &RekIn, sizeof(rekin)); // Inisialisasi_seluruh_categ loop{ //Init_categ Current_Kateg = RekIn.KeyIn; atau strcpy(current_kateg, RekIn.KeyIn); loop{ //Proses current_kateg ArsipIn.read((char *) &RekIn, sizeof(rekin)); until(rekin.keyin!= current_categ); //Terminasi_Kateg until(arsipin.eof()); //Terminasi seluruh kategori ArsipIn.close(); Tabel 4. Konversi struktur algoritma ke dalam bahasa C++ (library header : stdio.h) untuk pengelolaan data pada file sequential yang tidak menggunakan pembatas (konsolidasi dengan separator {Keytype adalah suatu type dari kunci rekaman, Valtype adalah type dari harga rekaman {Keytype dan Valtype harus terdefinisi type rekaman : < KeyIn : Keytype, direkam ArsipIn : SEQFILE of {input terurut menurut kunci (*) RekIn : rekaman (1) EOF : <mark, Val> : Inisialisasi-seluruh categ OPEN(ArsipIn, RekIn) {minimal ada satu kategori REPEAT {Skip separator #include <stdio.h> #include <string.h> Typedef struct{ KeyType KeyIn, ValType ValInrekaman; FILE *ArsipIn; rekaman RekIn; // Inisialisasi_seluruh_categ ArsipIn = fopen( Nama File, rt ); If (feof(arsipin)) { //Kasus Kosong fscanf(arsipin, format KeyType & ValType, RekIn.KeyIn, RekIn.ValIn); loop{ IF - UTAMA Versi/Revisi : 1/1 Halaman : II-V - 4

5 WHILE (NOT EOP) AND (Separator(KeyIn)) DO READ(ArsipIn, RekIn) {KeyIn bukan separator, KeyIn adalah elemen Pertama dari Next-Categ atau EOP {Tidak dibedakan antara kasus kategori kosong atau tidak Init-categ WHILE (NOT EOP) AND (NOT separator(keyin)) DO {Proses satu kategori Proses-current-categ READ(ArsipIn, Rek) Terminasi-categ UNTIL EOP Terminasi-seluruh-kategori CLOSE(ArsipIn) //skip separator while(! feof(arsipin) && Separator(RekIn.KeyIn)){ fscanf(arsipin, format KeyType & ValType, RekIn.KeyIn, RekIn.ValIn); //Init_categ while(! feof(arsipin) &&! Separator(RekIn.KeyIn)) { //Proses curret kategori fscanf(arsipin, format KeyType & ValType,RekIn.KeyIn, RekIn.ValIn); //Terminasi_Kateg until(feof(arsipin)); //Terminasi seluruh kategori fclose(arsipin) Tabel 5. Konversi struktur algoritma ke dalam bahasa C++ (library header : fstream.h) untuk pengelolaan data pada file sequential yang menggunakan pembatas (konsolidasi dengan separator {Keytype adalah suatu type dari kunci rekaman, Valtype adalah type dari harga rekaman {Keytype dan Valtype harus terdefinisi type rekaman : < KeyIn : Keytype, direkam ArsipIn : SEQFILE of {input terurut menurut kunci (*) RekIn : rekaman (1) EOF : <mark, Val> : Inisialisasi-seluruh categ OPEN(ArsipIn, RekIn) {minimal ada satu kategori REPEAT {Skip separator WHILE (NOT EOP) AND (Separator(KeyIn)) DO READ(ArsipIn, RekIn) {KeyIn bukan separator, KeyIn adalah elemen Pertama dari Next-Categ atau EOP {Tidak dibedakan antara kasus kategori kosong atau tidak Init-categ WHILE (NOT EOP) AND (NOT separator(keyin)) DO {Proses satu kategori Proses-current-categ READ(ArsipIn, Rek) #include <stdio.h> #include <string.h> Typedef struct{ KeyType KeyIn, ValType ValInrekaman; ofstream ArsipIn; atau fstream ArsipIn; rekaman RekIn; // Inisialisasi_seluruh_categ ArsipIn.open( Nama File,ios::out); If (ArsipIn.eof()) { //Kasus Kosong ArsipIn.read((char *) &RekIn, sizeof(rekin)); loop{ //skip separator while(! feof(arsipin) && Separator(RekIn.KeyIn)){ ArsipIn.read((char *) &RekIn, sizeof(rekin)); //Init_categ while(! feof(arsipin) &&! Separator(RekIn.KeyIn)) { //Proses curret kategori ArsipIn.read((char *) &RekIn, sizeof(rekin)); IF - UTAMA Versi/Revisi : 1/1 Halaman : II-V - 5

6 Terminasi-categ UNTIL EOP Terminasi-seluruh-kategori CLOSE(ArsipIn) //Terminasi_Kateg until(arsipin.eof()); //Terminasi seluruh kategori ArsipIn.close(); 1.3 Penggabungan Data Pada File Sequential Data dalam file bisa anda tambahkan dengan cara memasukan data tersebut satu per satu ke dalam file. Selain cara tersebut, kadang anda bisa memperoleh data dari file yang lain, sehingga anda tidak perlu memasukan data tersebut satu persatu, melainkan hanya menyalin (mengcopy) data tersebut ke dalam file tertentu. Proses penyalinan dari dari beberapa file ke dalam sebuah file disebut sebagai proses penggabungan atau merging. Pada tabel 6 dan tabel 7 berikut ini anda dapat melihat konversi dari algoritma penggabungan data pada file sequential. Struktur dalam tabel tersebut dapat anda kembangkan tergantung kebutuhan hasil penggabungan data yang diminta. Tabel 6. Konversi struktur algoritma ke dalam bahasa C++ (library header : stdio.h) untuk penggabungan data pada file sequential Versi OR {Keytype adalah suatu type dari kunci #include <stdio.h> rekaman, Valtype adalah type dari harga #include <string.h> rekaman {Keytype dan Valtype harus terdefinisi type rekaman : < KeyIn : Keytype, Typedef struct{ KeyType KeyIn, ValType ValInrekaman; direkam Arsip1, Arsip2 : SEQFILE of FILE *Arsip1, *Arsip2; {input terurut menurut kunci (*)Rek1,Rek2 : rekaman rekaman Rek1,Rek2; ArsipGabung : SEQFILE of {input terurut FILE *ArsipGabung; menurut kunci (*)RekGabung : rekaman rekaman RekGabung; : OPEN(Arsip1, Rek1) OPEN(Arsip2, Rek2) REWRITE(ArsipGabung,RekGabung) //baca record pertama pada Arsip1 dan Arsip2 WHILE (NOT EOF(Arsip1) OR NOT EOF(Arsip2)) DO IF (Rek1.KeyIn <= Rek2.KeyIn) THEN WRITE(ArsipGabung,Rek1) WRITE(ArsipGabung,Rek2) Arsip1 = fopen( Nama File1, rt ); Arsip2 = fopen( Nama File2, rt ); ArsipGabung = fopen( Nama FileGabung, wt ); If (feof(arsip1) && feof(arsip2)) { //Kasus Kosong //baca record pertama pada Arsip1 dan Arsip2 fscanf(arsip1, format KeyType & ValType,Rek1.KeyIn, Rek1.ValIn); fscanf(arsip2, format KeyType & ValType,Rek2.KeyIn, Rek2.ValIn); while{! feof(arsip1)! feof(arsip2)) { if(rek1.keyin <= Rek2.KeyIn) { fwrite(arsipgabung, format KeyType & ValType, Rek1.KeyIn, Rek1.ValIn); fscanf(arsip1, format KeyType & ValType, Rek1.Key1, Rek1.Val1); fwrite(arsipgabung, format KeyType & ValType, Rek2.KeyIn, Rek1.ValIn); fscanf(arsip2, format KeyType & ValType, Rek2.KeyIn, Rek2.ValIn); IF - UTAMA Versi/Revisi : 1/1 Halaman : II-V - 6

7 CLOSE(Arsip1) CLOSE(Arsip2) CLOSE(ArsipGabung) {Keytype adalah suatu type dari kunci rekaman, Valtype adalah type dari harga rekaman {Keytype dan Valtype harus terdefinisi type rekaman : < KeyIn : Keytype, direkam Arsip1, Arsip2 : SEQFILE of {input terurut menurut kunci (*)Rek1,Rek2 : rekaman ArsipGabung : SEQFILE of {input terurut menurut kunci (*)RekGabung : rekaman : OPEN(Arsip1, Rek1) OPEN(Arsip2, Rek2) REWRITE(ArsipGabung,RekGabung) //baca record pertama pada Arsip1 dan Arsip2 WHILE (NOT EOF(Arsip1) AND NOT EOF(Arsip2)) DO IF (Rek1.KeyIn <= Rek2.KeyIn) THEN WRITE(ArsipGabung,Rek1) WRITE(ArsipGabung,Rek2) WHILE (NOT EOF(Arsip1)) DO WRITE(ArsipGabung,Rek1) WHILE (NOT EOF(Arsip2)) DO WRITE(ArsipGabung,Rek2) fclose(arsip1); fclose(arsip2); fclose(arsipgabung); Versi AND #include <stdio.h> #include <string.h> Typedef struct{ KeyType KeyIn, ValType ValInrekaman; FILE *Arsip1, *Arsip2; rekaman Rek1,Rek2; FILE *ArsipGabung; rekaman RekGabung; Arsip1 = fopen( Nama File1, rt ); Arsip2 = fopen( Nama File2, rt ); ArsipGabung = fopen( Nama FileGabung, wt ); If (feof(arsip1) && feof(arsip2)) { //Kasus Kosong //baca record pertama pada Arsip1 dan Arsip2 fscanf(arsip1, format KeyType & ValType,Rek1.KeyIn, Rek1.ValIn); fscanf(arsip2, format KeyType & ValType,Rek2.KeyIn, Rek2.ValIn); while{! feof(arsip1) &&! feof(arsip2)) { if(rek1.keyin <= Rek2.KeyIn) { fwrite(arsipgabung, format KeyType & ValType, Rek1.KeyIn, Rek1.ValIn); fscanf(arsip1, format KeyType & ValType, Rek1.KeyIn, Rek1.ValIn); fwrite(arsipgabung, format KeyType & ValType, Rek2.KeyIn, Rek1.ValIn); fscanf(arsip2, format KeyType & ValType, Rek2.KeyIn, Rek2.ValIn); while{! feof(arsip1)) { fwrite(arsipgabung, format KeyType & ValType, Rek1.KeyIn, Rek1.ValIn); fscanf(arsip1, format KeyType & ValType, Rek1.Key1, Rek1.ValIn); while{! feof(arsip2)) { fwrite(arsipgabung, format KeyType & ValType, Rek2.KeyIn, Rek2.ValIn); fscanf(arsip2, format KeyType & ValType, Rek1.KeyIn, Rek2.ValIn); IF - UTAMA Versi/Revisi : 1/1 Halaman : II-V - 7

8 CLOSE(Arsip1) CLOSE(Arsip2) CLOSE(ArsipGabung) fclose(arsip1); fclose(arsip2); fclose(arsipgabung); Tabel 7. Konversi struktur algoritma ke dalam bahasa C++ (library header : fstream.h) untuk penggabungan data pada file sequential Versi OR {Keytype adalah suatu type dari kunci #include <fstream.h> rekaman, Valtype adalah type dari harga #include <string.h> rekaman {Keytype dan Valtype harus terdefinisi type rekaman : < KeyIn : Keytype, Typedef struct{ KeyType KeyIn, ValType ValInrekaman; direkam Arsip1, Arsip2 : SEQFILE of ofstream Arsip1, Arsip; {input terurut menurut kunci (*)Rek1,Rek2 : rekaman rekaman Rek1,Rek2; ArsipGabung : SEQFILE of {input terurut ifstream ArsipGabung; menurut kunci (*)RekGabung : rekaman rekaman RekGabung; : OPEN(Arsip1, Rek1) OPEN(Arsip2, Rek2) REWRITE(ArsipGabung,RekGabung) //baca record pertama pada Arsip1 dan Arsip2 WHILE (NOT EOF(Arsip1) OR NOT EOF(Arsip2)) DO IF (Rek1.KeyIn <= Rek2.KeyIn) THEN WRITE(ArsipGabung,Rek1) WRITE(ArsipGabung,Rek2) CLOSE(Arsip1) CLOSE(Arsip2) CLOSE(ArsipGabung) {Keytype adalah suatu type dari kunci rekaman, Valtype adalah type dari harga rekaman {Keytype dan Valtype harus terdefinisi type rekaman : < KeyIn : Keytype, direkam Arsip1, Arsip2 : SEQFILE of {input terurut menurut kunci Arsip1.open( Nama File1,ios::out); Arsip2.open( Nama File2,ios::out); ArsipGabung.open( Nama FileGabung, ios::app); If (Arsip1.eof() && Arsip2.eof()) { //Kasus Kosong //baca record pertama pada Arsip1 dan Arsip2 Arsip1.read((char *) &Rek1, Arsip2.read((char *) &Rek2, while{! Arsip1.eof()! Arsip2.eof()) { if(rek1.keyin <= Rek2.KeyIn) { ArsipGabung.write((char *) &Rek1, Arsip1.read((char *) &Rek1, ArsipGabung.write((char *) &Rek2, Arsip2.read((char *) &Rek2, fclose(arsip1); fclose(arsip2); fclose(arsipgabung); Versi AND #include <fstream.h> #include <string.h> Typedef struct{ KeyType KeyIn, ValType ValInrekaman; ofstream Arsip1, Arsip; IF - UTAMA Versi/Revisi : 1/1 Halaman : II-V - 8

9 (*)Rek1,Rek2 : rekaman ArsipGabung : SEQFILE of {input terurut menurut kunci (*)RekGabung : rekaman : OPEN(Arsip1, Rek1) OPEN(Arsip2, Rek2) REWRITE(ArsipGabung,RekGabung) //baca record pertama pada Arsip1 dan Arsip2 WHILE (NOT EOF(Arsip1) AND NOT EOF(Arsip2)) DO IF (Rek1.KeyIn <= Rek2.KeyIn) THEN WRITE(ArsipGabung,Rek1) WRITE(ArsipGabung,Rek2) WHILE (NOT EOF(Arsip1)) DO WRITE(ArsipGabung,Rek1) WHILE (NOT EOF(Arsip2)) DO WRITE(ArsipGabung,Rek2) CLOSE(Arsip1) CLOSE(Arsip2) CLOSE(ArsipGabung) rekaman Rek1,Rek2; ifstream ArsipGabung; rekaman RekGabung; Arsip1.open( Nama File1,ios::out); Arsip2.open( Nama File2,ios::out); ArsipGabung.open( Nama FileGabung, ios::app); If (Arsip1.eof() && Arsip2.eof()) { //Kasus Kosong //baca record pertama pada Arsip1 dan Arsip2 Arsip1.read((char *) &Rek1, Arsip2.read((char *) &Rek2, while{! Arsip1.eof() &&! Arsip2.eof()) { if(rek1.keyin <= Rek2.KeyIn) { ArsipGabung.write((char *) &Rek1, Arsip1.read((char *) &Rek1, ArsipGabung.write((char *) &Rek2, Arsip2.read((char *) &Rek2, while{! feof(arsip1)) { ArsipGabung.write((char *) &Rek1, Arsip1.read((char *) &Rek1, while{! feof(arsip2)) { ArsipGabung.write((char *) &Rek2, Arsip2.read((char *) &Rek2, fclose(arsip1); fclose(arsip2); fclose(arsipgabung); 1.4 Pemisahan Data Pada File Sequential Dikarenakan jumlah data yang semakin besar atau karena suatu kondisi tertentu, data dalam file harus dipecah atau dipisahkan menjadi beberapa file. Salah satu tujuannya adalah untuk mempermudah membuat kesimpulan informasi dari data-data yang ada di dalam file tersebut. Proses pemecahan atau pemisahan dari dari beberapa file ke dalam sebuah file disebut sebagai proses pemisahan atau splitting. Pada tabel 8 dan tabel 9 berikut ini anda dapat melihat konversi dari algoritma pemisahan data pada file sequential. Struktur dalam tabel tersebut dapat anda kembangkan tergantung kebutuhan hasil pemisahan data yang diminta. IF - UTAMA Versi/Revisi : 1/1 Halaman : II-V - 9

10 Tabel 8. Konversi struktur algoritma ke dalam bahasa C++ (library header : stdio.h) untuk pemisahan data pada file sequential Versi OR {Keytype adalah suatu type dari kunci #include <stdio.h> rekaman, Valtype adalah type dari harga #include <string.h> rekaman {Keytype dan Valtype harus terdefinisi type rekaman : < KeyIn : Keytype, Typedef struct{ KeyType KeyIn, ValType ValInrekaman; direkam Arsip1, Arsip2 : SEQFILE of FILE *Arsip1, *Arsip2; {input terurut menurut kunci (*)Rek1,Rek2 : rekaman rekaman Rek1,Rek2; ArsipUtama : SEQFILE of {input terurut FILE *ArsipUtama; menurut kunci (*)RekUtama : rekaman rekaman RekUtama; Kategori {batasan yang digunakan untuk proses pemisahan) : REWRITE(Arsip1, Rek1) REWRITE(Arsip2, Rek2) OPEN(ArsipGabung,RekGabung) //baca record pertama pada ArsipUtama READ(ArsipUtama,RekUtama) WHILE (NOT EOF(ArsipUtama)) DO IF (Kategori) THEN WRITE(ArsipGabung,Rek1) WRITE(ArsipGabung,Rek2) CLOSE(Arsip1) CLOSE(Arsip2) CLOSE(ArsipUtama) Arsip1 = fopen( Nama File1, wt ); Arsip2 = fopen( Nama File2, wt ); ArsipUTAMA = fopen( Nama FileGabung, rt ); If (feof(arsiputama)) { //Kasus Kosong //baca record pertama pada ArsipUtama fscanf(arsiputama, format KeyType & ValType,RekUtama.KeyIn, RekUtama.ValIn); while{! feof(arsiputama)) { if(kategori) { fwrite(arsip1, format KeyType & ValType, RekUtama.KeyIn, RekUtama.ValIn); fwrite(arsip2, format KeyType & ValType, RekUtama.KeyIn, RekUtama.ValIn); fscanf(arsiputama, format KeyType & ValType, RekUtama.Key1, RekUtama.Val1); fclose(arsip1); fclose(arsip2); fclose(arsiputama); Tabel 9. Konversi struktur algoritma ke dalam bahasa C++ (library header : fstream.h) untuk pemisahan data pada file sequential {Keytype adalah suatu type dari kunci #include <fstream.h> rekaman, Valtype adalah type dari harga #include <string.h> rekaman {Keytype dan Valtype harus terdefinisi type rekaman : < KeyIn : Keytype, Typedef struct{ KeyType KeyIn, ValType ValInrekaman; direkam Arsip1, Arsip2 : SEQFILE of ifstream Arsip1, Arsip2; {input terurut menurut kunci (*)Rek1,Rek2 : rekaman rekaman Rek1,Rek2; ArsipUtama : SEQFILE of {input terurut ofstream ArsipUtama; menurut kunci IF - UTAMA Versi/Revisi : 1/1 Halaman : II-V - 10

11 (*)RekUtama : rekaman Kategori {batasan yang digunakan untuk proses pemisahan) : REWRITE(Arsip1, Rek1) REWRITE(Arsip2, Rek2) OPEN(ArsipGabung,RekGabung) //baca record pertama pada ArsipUtama READ(ArsipUtama,RekUtama) WHILE (NOT EOF(ArsipUtama)) DO IF (Kategori) THEN WRITE(Arsip1,RekUtama) WRITE(Arsip2,RekUtama) READ(ArsipUtama,RekUtama) CLOSE(Arsip1) CLOSE(Arsip2) CLOSE(ArsipUtama) rekaman RekUtama; Arsip1.open( Nama File1,ios::app); Arsip2.open( Nama File2,ios::app); ArsipUTAMA.open( Nama FileGabung, ios::out); If (ArsipUtama.eof()) { //Kasus Kosong //baca record pertama pada ArsipUtama ArsipUtama.read((char *) &RekUtama, sizeof(rekutama)); while{! ArsipUtama.eof()) { if(kategori) { Arsip1.write((char *) &RekUtama, sizeof(rekutama)); Arsip2.write((char *) &RekUtama, sizeof(rekutama)); ArsipUtama.read((char *) &RekUtama, sizeof(rekutama)); fclose(arsip1); fclose(arsip2); fclose(arsiputama); 1.5 Pembaharuan Data Pada File Sequential Proses penyalinan atau penggabungan data dari beberapa file kadang akan duplikasi data di dalam file hasil penggabungan tersebut. Duplikasi data terjadi jika dalam satu file terdapat sebuah data yang sama namun ditulis lebih dari satu kali, hal ini akan mengakibatkan semakin besarnya ukuran file dikarenakan penambahan jumlah data dalam file. Oleh karena itu diperlukan penanganan khusus untuk data tersebut, salah satunya adalah dengan mengubah salah satu komponen dari data tersebut, sehingga tidak ada duplikasi data dalam file. Proses pengubahan komponen ini dapat dilakukan dengan cara menimpa nilai pada salah satu komponen data yang lama dengan nilai pada komponen data yang baru (penimpaan) atau melakukan operasi aritmatika pada komponen data tersebut (penjumlahan, pengurangan, perkalian dan seterusnya). Proses pengubahan nilai ini disebut sebagai proses pembaharuan data atau updating. Pada tabel 10 dan tabel 11 berikut ini anda dapat melihat konversi dari algoritma pembaharuan data pada file sequential. Struktur dalam tabel tersebut dapat anda kembangkan tergantung kebutuhan hasil pemisahan data yang diminta. Tabel 10. Konversi struktur algoritma ke dalam bahasa C++ (library header : stdio.h) untuk pembaharuan data pada file sequential {Keytype adalah suatu type dari kunci #include <stdio.h> rekaman, Valtype adalah type dari harga #include <string.h> rekaman {Keytype dan Valtype harus terdefinisi type rekaman : < KeyIn : Keytype, Typedef struct{ KeyType KeyIn, ValType ValInrekaman; direkam ArsipLama, ArsipBaru : SEQFILE of FILE *ArsipLama, *ArsipBaru; {input terurut menurut kunci (*)RekLama,RekBaru : rekaman rekaman RekLama,RekBaru; ArsipUpdate : SEQFILE of {input terurut FILE *ArsipUpdate; menurut kunci IF - UTAMA Versi/Revisi : 1/1 Halaman : II-V - 11

12 (*)RekUpdate : rekaman : OPEN(ArsipLama, RekLama) OPEN(ArsipBaru, RekBaru) REWRITE(ArsipUpdate,RekUpdate) //baca record pertama pada ArsipLama dan ArsipBaru WHILE (NOT EOF(ArsipLama) AND NOT EOF(ArsipBaru)) DO IF (RekLama.KeyIn=RekBaru.KeyIn) THEN RekUpdate.KeyIn RekBaru.KeyIn atau RekUpdate.KeyIn RekLama.KeyIn RekUpdate.ValIn //hasil proses RekLama dan RekBaru WRITE(ArsipUpdate,RekUpdate) IF (RekLama.KeyIn<=RekBaru.KeyIn) THEN WRITE(ArsipUpdate,RekLama) WRITE(ArsipUpdate,RekBaru) WHILE (NOT EOF(ArsipLama)) DO WRITE(ArsipUpdate,RekLama) WHILE (NOT EOF(ArsipBaru)) DO WRITE(ArsipUpdate,RekBaru) rekaman RekUpdate; ArsipLama = fopen( Nama File1, rt ); ArsipBaru = fopen( Nama File2, rt ); ArsipUpdate = fopen( Nama FileUpdate, wt ); If (feof(arsiplama) && feof(arsipbaru)) { //Kasus Kosong //baca record pertama pada ArsipLama dan ArsipBaru fscanf(arsiplama, format KeyType & ValType,RekLama.KeyIn, fscanf(arsipbaru, format KeyType & ValType,RekBaru.KeyIn, RekBaru.ValIn); while{! feof(arsiplama) &&! feof(arsipbaru)) { if(reklama.keyin == RekBaru.KeyIn) { RekUpdate.KeyIn = RekBaru.KeyIn atau RekUpdate.KeyIn = Reklama.KeyIn RekUpdate.ValIn = //hasil proses RekLama dan RekBaru fwrite(arsipupdate, format KeyType & ValType, RekUpdate.KeyIn, RekUpdate.ValIn); fscanf(arsiplama, format KeyType & ValType, RekLama.KeyIn, fscanf(arsipbaru, format KeyType & ValType, RekBaru.KeyIn, RekBaru.ValIn); if(reklama.keyin <= RekBaru.KeyIn) { fwrite(arsipupdate, format KeyType & ValType, RekLama.KeyIn, fscanf(arsiplama, format KeyType & ValType, RekLama.KeyIn, fwrite(arsipupdate, format KeyType & ValType, RekBaru.KeyIn, fscanf(arsiplama, format KeyType & ValType, RekLama.KeyIn, while{! feof(arsiplama)) { fwrite(arsipupdate, format KeyType & ValType, RekLama.KeyIn, fscanf(arsiplama, format KeyType & ValType, RekLama.Key1, while{! feof(arsipbaru)) { fwrite(arsipupdate, format KeyType & ValType, RekBaru.KeyIn, RekBaru.ValIn); fscanf(arsipbaru, format KeyType & ValType, RekLama.KeyIn, RekBaru.ValIn); IF - UTAMA Versi/Revisi : 1/1 Halaman : II-V - 12

13 CLOSE(ArsipLama) CLOSE(ArsipBaru) CLOSE(ArsipUpdate) fclose(arsiplama); fclose(arsipbaru); fclose(arsipupdate); Tabel 11. Konversi struktur algoritma ke dalam bahasa C++ (library header : fstream.h) untuk pembaharuan data pada file sequential {Keytype adalah suatu type dari kunci #include <fstream.h> rekaman, Valtype adalah type dari harga #include <string.h> rekaman {Keytype dan Valtype harus terdefinisi type rekaman : < KeyIn : Keytype, Typedef struct{ KeyType KeyIn, ValType ValInrekaman; direkam ArsipLama, ArsipBaru : SEQFILE of ofstream ArsipLama, ArsipBaru; {input terurut menurut kunci (*)RekLama,RekBaru : rekaman rekaman RekLama,RekBaru; ArsipUpdate : SEQFILE of {input terurut ifstream ArsipUpdate; menurut kunci (*)RekUpdate : rekaman rekaman RekUpdate; : OPEN(ArsipLama, RekLama) OPEN(ArsipBaru, RekBaru) REWRITE(ArsipUpdate,RekUpdate) //baca record pertama pada ArsipLama dan ArsipBaru WHILE (NOT EOF(ArsipLama) AND NOT EOF(ArsipBaru)) DO IF (RekLama.KeyIn=RekBaru.KeyIn) THEN RekUpdate.KeyIn RekBaru.KeyIn atau RekUpdate.KeyIn RekLama.KeyIn RekUpdate.ValIn //hasil proses RekLama dan RekBaru WRITE(ArsipUpdate,RekUpdate) IF (RekLama.KeyIn<=RekBaru.KeyIn) THEN WRITE(ArsipUpdate,RekLama) WRITE(ArsipUpdate,RekBaru) WHILE (NOT EOF(ArsipLama)) DO ArsipLama.open( Nama File1,ios::out); ArsipBaru.open( Nama File2,ios::out); ArsipUpdate.open( Nama FileUpdate, ios::app); If (ArsipLama.eof() && ArsipBaru.eof()) { //Kasus Kosong //baca record pertama pada ArsipLama dan ArsipBaru ArsipLama.read((char *) &RekLama, sizeof(reklama)); ArsipBaru.read((char *) &RekBaru, sizeof(rekbaru)); while{! ArsipLama.eof() &&! ArsipBaru.eof()) { if(reklama.keyin == RekBaru.KeyIn) { RekUpdate.KeyIn = RekBaru.KeyIn atau RekUpdate.KeyIn = Reklama.KeyIn RekUpdate.ValIn = //hasil proses RekLama dan RekBaru ArsipUpdate.write((char *) &RekUpdate,sizeof(RekUpdate)); ArsipLama.read((char *) &RekLama, sizeof(reklama)); ArsipBaru.read((char *) &RekBaru, sizeof(rekbaru)); if(reklama.keyin <= RekBaru.KeyIn) { ArsipUpdate.write((char *) &RekLama,sizeof(RekLama)); ArsipLama.read((char *) &RekLama, sizeof(reklama)); ArsipUpdate.write((char *) &RekBaru,sizeof(RekBaru)); ArsipBaru.read((char *) &RekBaru, sizeof(rekbaru)); while{! feof(arsiplama)) { IF - UTAMA Versi/Revisi : 1/1 Halaman : II-V - 13

14 WRITE(ArsipUpdate,RekLama) WHILE (NOT EOF(ArsipBaru)) DO WRITE(ArsipUpdate,RekBaru) CLOSE(ArsipLama) CLOSE(ArsipBaru) CLOSE(ArsipUpdate) ArsipUpdate.write((char *) &RekLama,sizeof(RekLama)); ArsipLama.read((char *) &RekLama, sizeof(reklama)); while{! feof(arsipbaru)) { ArsipUpdate.write((char *) &RekBaru,sizeof(RekBaru)); ArsipBaru.read((char *) &RekBaru, sizeof(rekbaru)); fclose(arsiplama); fclose(arsipbaru); fclose(arsipupdate); 1.6 Pembuatan file Library Header pada bahasa C atau C++ Dalam pemrograman terutama menggunakan C atau C++ sebagai bahasa pemrogramannya, header file atau include file harus disertakan. Biasanya header file merupakan code program yang disimpan dalam suatu file (biasanya lokasinya terpisah dengan program yang menggunakannya) yang secara otomatis disertakan oleh compiler. Standarnyam header file disertakan melalui compiler directive di awal program utama. Header file biasanya terdiri atas awal pendeklarasian fungsi-fungsi, variable serta identifier lain. Identifier yang perlu dideklarasikan pada lebih dari satu program sumberm dapat disimpan dalam sebuah header file, yang kemudian dapat disertakan kapanpun dibutuhkan. Dalam bahasa pemrograman C dan C++, fungsi library standar dideklarasikan dalam header file. Kebanyakan bahasa pemrograman modern mampu membagi program ke dalam bagianbagian kecil yang biasa disebut subrutin (fungsi) yang didistribusikan melalui banyak file sumber yang di-compile secara terpisah. Namun hal ini menimbulkan permasalahan, yaitu jika terdapat perubahan suatu definisi dari fungsi tersebut, maka programmer juga harus memperbaharui semua bagian dalam program yang menggunakan fungsi tersebut. Header file menyediakan solusi dari kasus tersebut. Modul-modul dalam header file mendeklarasikan setiap fungsi, obyek dan tipe data yang menjadi bagian public interface dari modul tersebut Sehingga jika ada perubahan definisi, hanya tinggal menyalin perubahan dari pendeklarasian tersebut dalam header file. Header file juga memungkinkan untuk disertakan dalam file sumber yang berisi definisi untuk berkorespondensi, memberi kesempatan compiler untuk memeriksa pendeklarasiannya serta kekonsitenan suatu definisi. 1.7 Referensi 1. Rilgivia, Hevi; Sekarwangi, Guntari, Diktat Kuliah & Pemrograman II, Teknik Informatika Universitas Widyatama, Bandung, Sekarwangi, Guntari; Kurniandi, Ocke, Diktat Kuliah Pemrograman I (Terstuktur), Teknik Informatika Universitas Widyatama, Bandung, Deitel, H.M. and Deitel, P.J., C++ How to Program, 2nd Edition, Prentice Hall, Deitel, H.M. and Deitel, P.J., C How to Program, 4nd Edition, Prentice Hall, tanggal akses : 11 Juli :35 B tanggal akses : 11 Juli :46 B tanggal akses : 11 Juli :47 B tanggal akses : 11 Juli :47 B tanggal akses : 12 Juli :27 B.417 IF - UTAMA Versi/Revisi : 1/1 Halaman : II-V - 14

15 10. tanggal akses : 12 Juli :27 B bs, tanggal akses : 12 Juli :30 B.417 IF - UTAMA Versi/Revisi : 1/1 Halaman : II-V - 15

UNIVERSITAS WIDYATAMA JURUSAN TEKNIK INFORMATIKA - FAKULTAS TEKNIK Jl. Cikutra No.204 A BAndung UJIAN TENGAH SEMESTER TA.

UNIVERSITAS WIDYATAMA JURUSAN TEKNIK INFORMATIKA - FAKULTAS TEKNIK Jl. Cikutra No.204 A BAndung UJIAN TENGAH SEMESTER TA. UNIVERSITAS WIDYATAMA JURUSAN TEKNIK INFORMATIKA - FAKULTAS TEKNIK Jl. Cikutra No.204 A BAndung UJIAN TENGAH SEMESTER TA. 2008/2009 Mata Kuliah/Jurusan : Pemrograman II (Terstruktur II)/Teknik Informatika-S1

Lebih terperinci

Overview. Review Konsep File. Tujuan Instruksional & Lingkup Materi. Pengenalan Konsolidasi File Pertemuan : 2 Dosen Pembina : Danang Junaedi 2/6/2012

Overview. Review Konsep File. Tujuan Instruksional & Lingkup Materi. Pengenalan Konsolidasi File Pertemuan : 2 Dosen Pembina : Danang Junaedi 2/6/2012 Jurusan Teknik Informatika Universitas Widyatama Overview Tujuan Instruksional & Lingkup Materi Review konsep File Jenis Konsolidasi File Contoh Konsolidasi File Pengenalan Konsolidasi File Pertemuan :

Lebih terperinci

SEQUENTIAL FILE. Tujuan Perkuliahan

SEQUENTIAL FILE. Tujuan Perkuliahan SEQUENTIAL FILE Tim Pengajar KU1071 Sem. 1 009-010 11/0/00911//08 KU1071/RSP 1 Tujuan Perkuliahan Mahasiswa memahami penggunaan file sekuensial Mahasiswa memahami primitif-primitif dasar dalam pemrosesan

Lebih terperinci

Overview. Pendahuluan. Pendahuluan. Deskripsi Mata kuliah ini mempelajari :

Overview. Pendahuluan. Pendahuluan. Deskripsi Mata kuliah ini mempelajari : Pendahuluan Pertemuan : I Oleh : Danang Junaedi Jurusan Teknik Informatika Universitas Widyatama Overview Deskripsi Tujuan Instruksional Kaitan Materi Urutan Bahasan Penilaian Grade Referensi Jurusan Teknik

Lebih terperinci

Arsip Beruntun. Definisi Arsip Beruntun. Contoh Arsip Beruntun

Arsip Beruntun. Definisi Arsip Beruntun. Contoh Arsip Beruntun Arsip Beruntun Informasi yang disimpan di dalam media penyimpan sekunder dikelompokkan dalam bentuk arsip (file). Suatu arsip merupakan organisasi dari sejumlah rekaman. Masing-masing rekaman dapat terdiri

Lebih terperinci

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

Pada prinsipnya operasi yang dilakukan pada file terdiri dari 3 tahapan : 1. Membuka file 2. Melakukan pemrosesan pada file 3. PENGELOLAAN FILE Operasi File pada C++ Pada prinsipnya operasi yang dilakukan pada file terdiri dari 3 tahapan : 1. Membuka file 2. Melakukan pemrosesan pada file 3. Menutup file Dalam melakukan operasi

Lebih terperinci

Overview. Pendahuluan. Tujuan Instruksional & Kaitan Materi. Deskripsi. Algoritma & Pemrograman I. Prodi Teknik Informatika - Universitas Widyatama 1

Overview. Pendahuluan. Tujuan Instruksional & Kaitan Materi. Deskripsi. Algoritma & Pemrograman I. Prodi Teknik Informatika - Universitas Widyatama 1 Pendahuluan Sesi 01 Dosen Pembina : Danang Junaedi Overview Deskripsi Tujuan Instruksional & Kaitan Materi Urutan Bahasan Penilaian & Grade Referensi Tata Tertib Perkuliahan 1 IF-UTAMA 2 Informatika I

Lebih terperinci

RENCANA PEMBELAJARAN SEMESTER (RPS)

RENCANA PEMBELAJARAN SEMESTER (RPS) RENCANA PEMBELAJARAN SEMESTER (RPS) KUG1D1 PRAKTIKUM DASAR ALGORITMA DAN PEMOGRAMAN Disusun oleh: Tim Dosen Dasar Algoritma dan Pemrograman FAKULTAS INFORMATIKA TELKOM UNIVERSITY 1 LEMBAR PENGESAHAN Rencana

Lebih terperinci

IKG2A3/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Mesin Abstrak

IKG2A3/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Mesin Abstrak IKG2A3/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Mesin Abstrak 1 8/25/2015 Mesin Abstrak Definisi: mesin yang dianggap ada, dan diasumsikan mampu melakukan mekanisme yang

Lebih terperinci

Algoritma dan Pemrograman File Sekuensial. Oleh: Eddy Prasetyo N 05/05/2014 1

Algoritma dan Pemrograman File Sekuensial. Oleh: Eddy Prasetyo N 05/05/2014 1 Algoritma dan Pemrograman File Sekuensial Oleh: Eddy Prasetyo N 05/05/2014 1 Agenda Definisi Primitif Akses Primitif Penulisan Pemrosesan Arsip Sekuensial Algoritma Konsolidasi 05/05/2014 2 Definisi [1]

Lebih terperinci

Mesin Karakter dan Mesin Kata

Mesin Karakter dan Mesin Kata Mesin Karakter dan Mesin Kata Tim Pengajar IF2030/Algoritma dan Struktur Data 10/15/09 FNA/IF2030/Mesin Kata 1 Mesin Mesin: mekanisme yang terdefinisi dan mengerti serta mampu untuk mengeksekusi aksi-aksi

Lebih terperinci

PENGULANGAN SKEMA PEMROSESAN SEKUENSIAL. Tim Pengajar KU1071 Sem

PENGULANGAN SKEMA PEMROSESAN SEKUENSIAL. Tim Pengajar KU1071 Sem PENGULANGAN SKEMA PEMROSESAN SEKUENSIAL Tim Pengajar KU1071 Sem. 1 2009-2010 1 Overview Notasi Pengulangan 1. Berdasarkan jumlah pengulangan repeat n times aksi 2. Berdasarkan kondisi berhenti repeat aksi

Lebih terperinci

List Linier (Bag. I) IF2121/Algoritma dan Struktur Data Sem. I 2016/ /25/2017 IF2121/Sem I 2017/2018 1

List Linier (Bag. I) IF2121/Algoritma dan Struktur Data Sem. I 2016/ /25/2017 IF2121/Sem I 2017/2018 1 List Linier (Bag. I) IF2121/Algoritma dan Struktur Data Sem. I 2016/2017 9/25/2017 IF2121/Sem I 2017/2018 1 List Linier List linier: Sekumpulan elemen ber-type sama yang mempunyai keterurutan tertentu

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP)

SATUAN ACARA PERKULIAHAN (SAP) SATUAN ACARA PERKULIAHAN (SAP) Nama Mata : Algoritma dan Struktur Data I Kode Mata : TI 006 Bobot Kredit : 3/1 SKS Semester Penempatan : I Kedudukan Mata : Mata Keilmuan dan Keterampilan Mata Prasyarat

Lebih terperinci

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS MATA KULIAH PEMROGRAMAN * (TK) Minggu ke Pokok Bahasan dan TIU 1. Algoritma Konsep Dasar Bahasa Pascal secara singkat sejarah dirancangnya bahasa Memberikan konsep dasar pembuatan program dalam bahasa

Lebih terperinci

Dasar Operasi File. Overview. Tujuan Instruksional

Dasar Operasi File. Overview. Tujuan Instruksional Dasar Operasi File Pertemuan : Disusun oleh : Danang Junaedi Jurusan Teknik Informatika Universitas Widyatama Overview Tujuan Instruksional Jenis File Operasi File Tahap Operasi Dasar File Mengaktifkan

Lebih terperinci

Materi Pertemuan 04 PEMILIHAN (SELECTION)/ PENGAMBILAN KEPUTUSAN (DECISION)

Materi Pertemuan 04 PEMILIHAN (SELECTION)/ PENGAMBILAN KEPUTUSAN (DECISION) Materi Pertemuan 04 PEMILIHAN (SELECTION)/ PENGAMBILAN KEPUTUSAN (DECISION) Disusun oleh : Danang Junaedi OBJEKTIF Dalam bab ini mahasiswa mempelajari tentang : 1. Pengenalan proses Pemilihan (Selection)/Pengambilan

Lebih terperinci

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-14 Arsip (File) 3

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-14 Arsip (File) 3 Algoritma dan Pemrograman Lanjut Pertemuan Ke-14 Arsip (File) 3 Disusun Oleh : Wilis Kaswidjanti, S.Si.,M.Kom. Jurusan Teknik Informatika Fakultas Teknologi Industri Universitas Pembangunan Nasional Veteran

Lebih terperinci

Sub Pokok Bahasan. tugas 1 Pascal operator Assignment, Binary, Unary dan Bitwise

Sub Pokok Bahasan. tugas 1 Pascal operator Assignment, Binary, Unary dan Bitwise Sub 1 Agar mahasiswa mengetahui Agar mahasiswa mengetahui Pengenalan Pascal - Sejarah Pascal Buku ke-2. Hal. 1-26 1. Teori White Board 1.Latihan sejarah dan struktur Pascal sejarah dan memahami struktur

Lebih terperinci

Satuan Acara Perkuliahan (SAP) UNIVERSITAS GUNADARMA

Satuan Acara Perkuliahan (SAP) UNIVERSITAS GUNADARMA Satuan Acara Perkuliahan (SAP) UNIVERSITAS GUNADARMA Mata Kuliah : Algoritma & Pemrograman 3 Fakultas/Jurusan : Teknologi Industri/Teknik Informatika Pert/ Pokok Bahasan/Materi 1 Pokok Bahasan : Konsep

Lebih terperinci

Materi Pertemuan 05 PENGULANGAN (LOOPING)

Materi Pertemuan 05 PENGULANGAN (LOOPING) Materi Pertemuan 05 PENGULANGAN (LOOPING) Disusun oleh : Danang Junaedi OBJEKTIF Dalam bab ini mahasiswa mempelajari tentang : 1. Pengenalan proses Pengulangan (Looping) 2. Penggunaan proses Pengulangan

Lebih terperinci

Tipe Data dan Operator

Tipe Data dan Operator Tipe Data dan Operator Dasar Algoritma dan Pemrogrman Eka Maulana, ST, MT, MEng. Klasifikasi Tipe Data 1 Tipe Data Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam

Lebih terperinci

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

Baca Tulis File. Untuk dapat membaca atau menulis data dari/ke sebuah file maka langkah yang perlu dilakukan adalah: Untuk dapat membaca atau menulis data dari/ke sebuah file maka langkah yang perlu dilakukan adalah: 1. membuka file - mendefinisikan variabel stream - melakukan perintah open() 2. Melakukan pembacaan atau

Lebih terperinci

MODUL PRAKTIKUM STRUKTUR DATA

MODUL PRAKTIKUM STRUKTUR DATA MODUL PRAKTIKUM STRUKTUR DATA OPERASI PENAMBAHAN ELEMEN PADA SENARAI/LIST Mata Kuliah Bahasa Pemrograman Software Dosen : Struktur Data : C++ : C-Free : Taofik Muhammad AMIK HASS BANDUNG LIST (Senarai)

Lebih terperinci

3. DOUBLE LINK LIST. Lab. Teknik Informatika Struktur Data 1

3. DOUBLE LINK LIST. Lab. Teknik Informatika Struktur Data 1 3. DOUBLE LINK LIST TUJUAN PRAKTIKUM Setelah mengenal tipe data single link list maka : 1. Praktikan diharapkan dapat menggunakan double link list. 2. Praktikan diharapkan mengerti perbedaan antara single

Lebih terperinci

BUANA. Distribusi 01 September 2017

BUANA. Distribusi 01 September 2017 UNIVERSITAS MERCU BUANA FAKULTAS ILMU KOMPUTER PROGRAM STUDI SISTEM INFORMASI No. Dokumen Tgl. Efektif Mata Kuliah Dasar Pemrograman 02-3.04.1.02 Distribusi 01 September 2017 RENCANA PEMBELAJARAN SEMESTER

Lebih terperinci

RENCANA PEMBELAJARAN SEMESTER (RPS)

RENCANA PEMBELAJARAN SEMESTER (RPS) RENCANA PEMBELAJARAN SEMESTER (RPS) KUG1C3 Dasar Algoritma dan Pemrograman Disusun oleh: Rita Rismala, S.T., M.T. PROGRAM STUDI S1 TEKNIK INFORMATIKA FAKULTAS INFORMATIKA TELKOM UNIVERSITY LEMBAR PENGESAHAN

Lebih terperinci

STRUKTUR DENGAN ARRAY DAN FUNCTION

STRUKTUR DENGAN ARRAY DAN FUNCTION STRUKTUR Struktur digunakan untuk mengelompokan sejumlah data yang mempunyai tipe data yang berbeda. Variabel-variabel yang membentuk sebuah struktur dinamakan elemen struktur. DEKLARASI STRUKTUR STRUKTUR

Lebih terperinci

Kata Pengantar... Daftar Isi... Daftar Padan Kata Inggris - Indonesia Pengantar ke Algoritma... 1

Kata Pengantar... Daftar Isi... Daftar Padan Kata Inggris - Indonesia Pengantar ke Algoritma... 1 2 Daftar Isi Kata Pengantar... Daftar Isi... Daftar Padan Kata Inggris - Indonesia... 1. Pengantar ke Algoritma... 1 1.1 Pendahuluan... 1 1.2 Program Komputer dan Algoritma... 4 1.3 Algoritma Merupakan

Lebih terperinci

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB Pertemuan Ke 5 : List Linier (Linked List) Referensi: 1. Inggriani Liem. 2003. Catatan Kuliah & Pemrograman, Jurusan Teknik Informatika ITB 2. Rinaldi Munir. 2003. dan Pemrograman II. Bandung : Penerbit

Lebih terperinci

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Mata : Algoritma dan Struktur Data I Bobot Mata : 3 Sks GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Deskripsi Mata : Pengertian algoritma, program dan bahasa pemograman serta kaitannya dengan komputer,

Lebih terperinci

Type Data Record & File. Pendahuluan : Kegiatan Praktikum :

Type Data Record & File. Pendahuluan : Kegiatan Praktikum : Kegiatan Praktikum : Type Data Record & 7 File Pendahuluan : Pada pertemuan ke tujuh ini, anda akan belajar tentang type data record. Anda akan belajar tentang bagaimana cara menggunakan type data record

Lebih terperinci

PERTEMUAN 2 ALGORITMA & PEMROGRAMAN

PERTEMUAN 2 ALGORITMA & PEMROGRAMAN PERTEMUAN 2 ALGORITMA & PEMROGRAMAN POKOK BAHASAN 1. Pendahuluan 2. Tahapan Pembangunan Program 3. Pengenalan Algoritma 4. Cara Menyajikan Algoritma 5. Data Program 6. Elemen-Elemen Program PENDAHULUAN

Lebih terperinci

SATUAN ACARA PENGAJARAN (SAP) : Aswir Premadi, S.T., M.Sc. (Eng) Pertemuan Minggu ke : 1 & 2 ( 1 x 2 x 50 )

SATUAN ACARA PENGAJARAN (SAP) : Aswir Premadi, S.T., M.Sc. (Eng) Pertemuan Minggu ke : 1 & 2 ( 1 x 2 x 50 ) SATUAN ACARA PENGAJARAN (SAP) Mata Kuliah Kode Mata Kuliah SKS Dosen Pengampu Waktu Tatap Muka : Dasar Pemrograman : EES4232 : 2 SKS : Aswir Premadi, S.T., M.Sc. (Eng) : 2 x 50 menit Pertemuan Minggu ke

Lebih terperinci

Penerapan Divide and Conquer dalam Membandingkan Alur Proses 2 Source Code

Penerapan Divide and Conquer dalam Membandingkan Alur Proses 2 Source Code Penerapan Divide and Conquer dalam Membandingkan Alur Proses 2 Source Code Gregorius Ronny Kaluge / 13508019 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

Modul 1 Mesin Karakter 1

Modul 1 Mesin Karakter 1 MODUL 1 MESIN KARAKTER TUJUAN PRAKTIKUM 1. Mahasiswa dapat memahami salah satu contoh aplikasi otomata yaitu mesin karakter 2. Mahasiswa mampu mengimplementasikan mesin karaketer dalam program pengolahan

Lebih terperinci

Chapter 1 KONSEP DASAR C

Chapter 1 KONSEP DASAR C Chapter 1 KONSEP DASAR C Sejarah Dan Standar C Akar dari bahasa C adalah BCPL (dikembangkan oleh Martin Richard tahun 1967). Kemudian Tahun 1970, Ken Thompson mengembangkan bahasa tersebut yang di kenal

Lebih terperinci

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama UJIAN TENGAH SEMESTER TA. 2009/2010

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama UJIAN TENGAH SEMESTER TA. 2009/2010 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama UJIAN TENGAH SEMESTER TA. 2009/2010 Mata Kuliah/Jurusan : Algoritma & Pemrograman I / Teknik Informatika-S1 Hari/Tanggal : Senin, 25 Oktober

Lebih terperinci

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari ALGORITMA DAN PEMROGRAMAN 2 3 SKS By : Sri Rezeki Candra Nursari MATERI Teks/string Pointer File Struktur Kelas Konstruktor dan Destruktor Kelas dan Obyek Overloading Operator Inheritance (Pewarisan) Polimorfisme

Lebih terperinci

Sesi/Perkuliahan ke: 4

Sesi/Perkuliahan ke: 4 Sesi/Perkuliahan ke: 4 Tujuan Instruksional Khusus : Agar mahasiswa dapat membuat program dengan proses pemutaran kembali (looping). Pokok Bahasan : PENGULANGAN PEMBACAAN DATA Deskripsi singkat : Dalam

Lebih terperinci

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

File & Stream. Kegunaan File : file : ini. dengan. iostream.h) suatu. stream, Jika. dapat menghubungkan. mendeklarasikan. kita. File & Stream Kegunaan File : Untuk melakukan proses file I/O, diperlukan file header fstream.h didalam program. Didalam file ini didefinisikan beberapa class/object yang berhubungan dengan pemrosesan

Lebih terperinci

PENGANTAR ALGORITMA & PEMROGRAMAN C/C++ Analisis Algoritma dan Struktur Data (TKE 670)

PENGANTAR ALGORITMA & PEMROGRAMAN C/C++ Analisis Algoritma dan Struktur Data (TKE 670) PENGANTAR ALGORITMA & PEMROGRAMAN C/C++ Analisis Algoritma dan Struktur Data (TKE 670) Jum at, 04 Februari 2011 Topik Diskusi Komputer dan Pemrograman Mengenal Algoritma dan Struktur Data Langkah Penyelesaian

Lebih terperinci

Konsep Dasar Pemrograman

Konsep Dasar Pemrograman Konsep Dasar Pemrograman I. Algoritma Pemrograman Yang Baik Ciri-ciri algoritma pemrograman yang baik adalah : 1. Memiliki logika perhitungan/metode yang tepat dalam memecahkan masalah 2. Menghasilkan

Lebih terperinci

SILABUS : DASAR-DASAR PEMROGRAMAN. : Made Windu Antara Kesiman, S.T., M.Sc NIP : : PENDIDIKAN KIMIA

SILABUS : DASAR-DASAR PEMROGRAMAN. : Made Windu Antara Kesiman, S.T., M.Sc NIP : : PENDIDIKAN KIMIA SILABUS MATA KULIAH : DASAR-DASAR PEMROGRAMAN KODE KREDIT PENGASUH : Made Windu Antara Kesiman, S.T., M.Sc NIP : 19821111 200812 1 001 JURUSAN FAKULTAS : PENDIDIKAN KIMIA : MIPA KEMENTERIAN PENDIDIKAN

Lebih terperinci

RENCANA PEMBELAJARAN SEMESTER (RPS)

RENCANA PEMBELAJARAN SEMESTER (RPS) RENCANA PEMBELAJARAN SEMESTER (RPS) KUG1SE3 Pemrograman Terstruktur 1 Disusun oleh: Rian Febrian Umbara PROGRAM STUDI S1 ILMU KOMPUTASI FAKULTAS INFORMATIKA TELKOM UNIVERSITY LEMBAR PENGESAHAN Rencana

Lebih terperinci

Struktur Program Bahasa C

Struktur Program Bahasa C Struktur Program Bahasa C Struktur Program Bahasa C /* Komentar */ main( ) { statemen-statemen; } fungsi_tambahan( ) { statemen-statemen } program utama fungsi tambahan yang dapat dipanggil oleh program

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 14 & 15

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 14 & 15 A. Kompetensi 1. Utama SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 14 & 15 Mahasiswa dapat memahami tentang konsep pemrograman

Lebih terperinci

Konstruksi Dasar Algoritma

Konstruksi Dasar Algoritma Konstruksi Dasar Algoritma ALGORITMA DAN PEMROGRAMAN [IF6110202] Yudha Saintika, S.T., M.T.I. Sub-Capaian Pembelajaran MK Pendahuluan Instruksi dan Aksi Algoritma merupakan deskripsi urutan pelaksanaan

Lebih terperinci

Array (Tabel) Tim Pengajar KU1071 Sem /11/3 TW/KU1071 1

Array (Tabel) Tim Pengajar KU1071 Sem /11/3 TW/KU1071 1 Array (Tabel) Tim Pengajar KU1071 Sem. 1 2009-2010 2009/11/3 TW/KU1071 1 Tujuan Perkuliahan Mahasiswa memahami makna dan kegunaan array (tabel) Mahasiswa dapat menggunakan notasi pendefinisian dan pengacuan

Lebih terperinci

Kuliah Online : TEKKOM [2013/VI]

Kuliah Online : TEKKOM [2013/VI] Kuliah Online : TEKKOM [2013/VI] Sumber Perancangan Bahasa Pemrograman Bahasa alami (natural language) Konstruksi yang diturunkan dari bahasa alami, karena bahasa alami dapat digunakan sebagai panduan

Lebih terperinci

UNIVERSITAS NEGERI YOGYAKARTA F A K U L T A S M I P A

UNIVERSITAS NEGERI YOGYAKARTA F A K U L T A S M I P A Fakultas : MIPA Program Studi : Matematika Mata Kuliah/Kode : Algoritma/ Jumlah SKS : Teori=2 sks Praktek=1 sks Semester : VI Prasyarat dan Kode : Komputer dan Teknologi Informasi, MAA 303 Dosen : Kuswari

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA II.1. Pengertian Perancangan Menurut Fathul Wahid (2005 : 217), perancangan adalah pendekatan yang digunakan dalam bidang rekayasa dan bidang lainnya yang digunakan untuk menspesifikasikan

Lebih terperinci

Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang Array Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang Apa itu Array? Array merupakan suatu variable yang mempresentasikan kumpulan elemen yang memiliki tipe data yang sama, diacu

Lebih terperinci

STRUKTUR DATA. Pengajar. Jaidan Jauhari, M.T. Alamat

STRUKTUR DATA. Pengajar. Jaidan Jauhari, M.T. Alamat STRUKTUR DATA Pengajar Jaidan Jauhari, M.T. Alamat Email jaidan_j@ilkom.unsri.ac.id jaidan_j@yahoo.com Disarikan Dari Berbagai Sumber, Terutama Dari Diktat Struktur Data Informatika ITB Karangan Dr. Inggriani

Lebih terperinci

Satuan Acara Perkuliahan

Satuan Acara Perkuliahan Satuan Acara Perkuliahan Mata Kuliah : Pemrograman C++ Kode Mata Kuliah / SKS : KB1055 / 2 SKS Semester : I (satu) Dosen : Rini Suwartika k,s.kom Hari, jam, ruang : Deskripsi Mata Kuliah Mata kuliah ini

Lebih terperinci

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-13 Arsip (File) 2

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-13 Arsip (File) 2 Algoritma dan Pemrograman Lanjut Pertemuan Ke-13 Arsip (File) 2 Disusun Oleh : Wilis Kaswidjanti, S.Si.,M.Kom. Jurusan Teknik Informatika Fakultas Teknologi Industri Universitas Pembangunan Nasional Veteran

Lebih terperinci

Algoritma dan Pemrograman. Pertemuan Ke-11 Function

Algoritma dan Pemrograman. Pertemuan Ke-11 Function Algoritma dan Pemrograman Pertemuan Ke-11 Function Disusun Oleh : Wilis Kaswidjanti, S.Si.,M.Kom. Jurusan Teknik Informatika Fakultas Teknologi Industri Universitas Pembangunan Nasional Veteran Yogyakarta

Lebih terperinci

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Mata Kuliah : Pemograman C++ Bobot Mata Kuliah : 3 Sks GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Deskripsi Mata Kuliah : Konsep pemrograman berorientasi obyek, pengenalan program java, struktur kontrol,

Lebih terperinci

Sequential File. Pertemuan Konsep Record/Struktur dan Pointer Konsep File Pengelolaan File Studi Kasus

Sequential File. Pertemuan Konsep Record/Struktur dan Pointer Konsep File Pengelolaan File Studi Kasus Sequential File Pertemuan 14-15 Overview Deskripsi Tujuan Instruksional Referensi Konsep Record/Struktur dan Pointer Konsep File Pengelolaan File Studi Kasus Jurusan Teknik Informatika XIV/XV - 2 Universitas

Lebih terperinci

Manipulasi Data & Pengolahan File

Manipulasi Data & Pengolahan File Kegiatan Praktikum : Manipulasi Data & Pengolahan File 4 Tujuan : - Praktikan dapat memahami fungsi-fungsi manipulasi data - Praktikan dapat menguraikan jenis-jenis fungsi string dan fungsi aritmatika

Lebih terperinci

BAB 12 MANIPULATION FILE

BAB 12 MANIPULATION FILE BAB 12 MANIPULATION FILE 1. Tujuan Instruksional Umum a. Mahasiswa mampu melakukan perancangan aplikasi menggunakan Struktur File b. Mahasiswa mampu melakukan analisis pada File yang dibuat c. Mahasiswa

Lebih terperinci

Lab. Teknik Informatika Struktur Data 1

Lab. Teknik Informatika Struktur Data 1 2. POINTER dan SINGLE LINK LIST TUJUAN PRAKTIKUM 1. Praktikan mengetahui tipe struktur data baru yaitu tipe data Pointer. 2. Praktikan menggunakan pointer didalam pembuatan program dan dapat menerapkannya

Lebih terperinci

KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA BAHASA C

KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA BAHASA C KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA BAHASA C Disusun oleh: Bachtiar Maulana (58411782) Marlinda Dwi Cahya (54411318) Muh. Mahlani (5411622) Muzaky Bakri Salim (55411060) UNIVERSITAS GUNADARMA

Lebih terperinci

LIST BERKAIT(LINKED LIST)

LIST BERKAIT(LINKED LIST) 4/9/0 Overview LIST BERKAIT(LINKED LIST) Pertemuan : -4 Dosen Pembina : Danang Junaedi Tujuan Instruksional Pendahuluan Pembentukan List Berkait Menampilkan Data pada List Berkait Studi Kasus Tugas Individu

Lebih terperinci

Pernyataan FOR Pernyataan WHILE Pernyataan REPEAT. Dewi Sartika,M.Kom

Pernyataan FOR Pernyataan WHILE Pernyataan REPEAT. Dewi Sartika,M.Kom Dewi Sartika, M.Kom Inisialisasi : kondisi awal/aksi awal yang dilakukan sebelum pengulangan dilakukan Iterasi : aksi yang dilakukan agar terus melakukan pengulangan badan pengulangan : bagian instruksi

Lebih terperinci

Pendahuluan Struktur Data STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 1 : 20 Juni 2016

Pendahuluan Struktur Data STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 1 : 20 Juni 2016 Pendahuluan JULIO ADISANTOSO Departemen Ilmu Komputer IPB Pertemuan 1 : 20 Juni 2016 Pendahuluan Ilustrasi Kontrak Perkuliahan Permasalahan Suatu sistem pengolahan data kependudukan di Indonesia meliputi

Lebih terperinci

Kontrak Perkuliahan & Introduction

Kontrak Perkuliahan & Introduction Kontrak Perkuliahan & Introduction Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN - 2008 Deskripsi Mata Kuliah Mata Kuliah : Algoritma dan Pemrograman Jumlah SKS : 4 SKS Dosen : Ir. Tahar

Lebih terperinci

Penerapan BFS dan DFS dalam Garbage Collection

Penerapan BFS dan DFS dalam Garbage Collection Penerapan BFS dan DFS dalam Garbage Collection Nugroho Satriyanto 13514038 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung Bandung, Indonesia 13514038@std.stei.itb.ac.id

Lebih terperinci

Modul Ke-1 Pertemuan ke-1 Deskripsi: Pemrosesan Sekuensial Larik Nama File: P01-XXX (XXX adalah 3 digit terakhir NPM)

Modul Ke-1 Pertemuan ke-1 Deskripsi: Pemrosesan Sekuensial Larik Nama File: P01-XXX (XXX adalah 3 digit terakhir NPM) Modul Ke-1 Pertemuan ke-1 Pemrosesan Sekuensial Larik Nama File: P01-XXX (XXX adalah 3 digit terakhir NPM) Deklarasi: const NMAX = 10 type Larik = array[1..nmax] of integer procedure BacaLarik(output A:

Lebih terperinci

Definisi Arsip Beruntun

Definisi Arsip Beruntun ARSIP BERUNTUTN Arsip (ile) atau berkas adalah struktur penyimpanan data di dalam memori sekunder sepert disk. Data disimpan di dalam arsip agar sewaktu waktu dapat dibuka kembali. Struktur arsip memungkinkan

Lebih terperinci

Konsep Pemrograman Prosedural

Konsep Pemrograman Prosedural Konsep Pemrograman Prosedural Urutan pengerjaan kegiatan Pemrograman Pengenalan bahasa C 9/20/2010 Minggu 1 1 Urutan Pengerjaan Kegiatan(1) Manusia selalu berusaha menyelesaikan masalah yang dihadapi Penyelesaian

Lebih terperinci

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan CCH1A4 / Dasar Algoritma & Pemrogramanan Yuliant Sibaroni M.T, Abdurahman Baizal M.Kom KK Modeling and Computational Experiment File Sekuensial Pendahuluan Primitif-primitif Dalam File Sekuensial Perekaman

Lebih terperinci

Sesi/Perkuliahan ke: I

Sesi/Perkuliahan ke: I Sesi/Perkuliahan ke: I Tujuan Instruksional Khusus : 1. Mahasiswa dapat menjelaskan tentang sejarah singkat bahasa pemrograman pascal. 2. Mahasiswa mengerti tentang konsep dasar pembuatan program pada

Lebih terperinci

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C TUGAS STRUKTUR DATA Shell Sort Ascending Dan Binary Sequential Search Menggunakan C IF-5 Nama Anggota : - Rohendi 10107193 - Andri Andriyan 10107210 - Yuli Yanti A 10107218 - Jajang Kusmita 10107227 JURUSAN

Lebih terperinci

LIST LINIER 1. DEFINISI

LIST LINIER 1. DEFINISI LIST LINIER 1. DEFINISI List linier adalah sekumpulan elemen bertype sama, yang mempunyai keterurutan tertentu, dan setiap elemennya terdiri dari dua bagian, yaitu informasi mengenai elemennya, dan informasi

Lebih terperinci

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak Modular Programming Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak mudah dihandle. dl Kesulitan: sulit mencari dan mengingat variabel-variabel aiabel yang sudah

Lebih terperinci

RESUME A B C D. Gambar 1 Double Linked list dengan Empat Simpul

RESUME A B C D. Gambar 1 Double Linked list dengan Empat Simpul RESUME Linked list yang kita pelajari sebelumnya hanya mempunyai sebuah pointer pada setiap simpulnya. Hal ini merupakan kelemahan bahwa linked list tersebut hanya bisa dibaca dalam satu arah saja, yaitu

Lebih terperinci

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1 MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1 Disusun oleh : Tim Asisten JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SUNAN KALIJAGA YOGYAKARTA 2011 0 A. Pengantar

Lebih terperinci

Pendahuluan. Overview. Bobot SKS & Prasyarat. Deskripsi

Pendahuluan. Overview. Bobot SKS & Prasyarat. Deskripsi Overview Pendahuluan Sesi 01 Dosen Pembina : Danang Junaedi o Deskripsi o Bobot, Prasyarat o Tujuan Instruksional o Ruang Lingkup Materi o Kaitan Materi o Urutan Bahasan o Penilaian & Grade o Referensi

Lebih terperinci

BAHASA PEMROGRAMAN C

BAHASA PEMROGRAMAN C BAHASA PEMROGRAMAN C A. Pengenalan Bahasa C diciptakan oleh Dennis Ritchie tahun 1972 di Bell Laboratories. Kelebihan Bahasa C: - Bahasa C tersedia hampir di semua jenis computer. - Kode bahasa C sifatnya

Lebih terperinci

Bahasa C-M6 By Jamilah, Skom 1

Bahasa C-M6 By Jamilah, Skom 1 BAB 1 KONSEP DASAR BAHASA C 1.1 SEJARAH DAN STANDAR C Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richard pada tahun 1967. Bahasa ini memberkan ide kepada ken thompson yang kemudian

Lebih terperinci

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN PERCABANGAN DAN PENGULANGAN Pada BAB ini akan membahas tentang PERCABANGAN dan PERULANGAN. PERCABANGAN : a) IF THEN b) CASE OF PENGULANGAN: a) REPEAT N TIMES b) REPEAT UNTIL c) WHILE DO d) ITERATE STOP

Lebih terperinci

Pengenalan Bahasa C week 1

Pengenalan Bahasa C week 1 Desain dan Analisis Algoritma Pengenalan Bahasa C week 1 I Ketut Resika Arthana, S.T., M.Kom resika.arthana@gmail.com http://www.rey1024.com Perkenalan I Ketut Resika Arthana, M.Kom Resika Rey resika.arthana@gmail.com

Lebih terperinci

Bab 2. Dasar-Dasar Pemrograman C

Bab 2. Dasar-Dasar Pemrograman C Bab 2. Dasar-Dasar Pemrograman C Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 Overview Tipe Data Standar (Standart Data Type) Aturan Pendefinisian Identifier Variabel Mendeklarasikan

Lebih terperinci

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak Modular Programming Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak mudah dihandle. dl Kesulitan: sulit mencari dan mengingat variabel-variabel aiabel yang sudah

Lebih terperinci

Teori Algoritma TIPE DATA

Teori Algoritma TIPE DATA Alam Santosa Teori Algoritma Dasar Algoritma TIPE DATA Program komputer adalah deretan perintah untuk memanipulasi data input menjadi informasi yang bermanfaat bagi pengguna (user). Data yang diinput dapat

Lebih terperinci

KONTRAK PERKULIAHAN Program Alih Jenis ALGORITME DAN PEMROGRAMAN KOM202

KONTRAK PERKULIAHAN Program Alih Jenis ALGORITME DAN PEMROGRAMAN KOM202 KONTRAK PERKULIAHAN Program Alih Jenis ALGORITME DAN PEMROGRAMAN KOM202 KOORDINATOR MATA AJARAN ALGORITME DAN PEMROGRAMAN DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR SEMESTER GANJIL TAHUN AJARAN

Lebih terperinci

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

DASAR PEMROGRAMAN. Institut Teknologi Sumatera DASAR PEMROGRAMAN REVIEW STRUKTUR DASAR, PERCABANGAN, DAN PERULANGAN Institut Teknologi Sumatera TUJUAN KULIAH Mengenalkan konsep dasar pemrograman: dekomposisi problem, modularisasi, rekurens; skill/praktek

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi Teks Algoritma ke dalam

Lebih terperinci

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia Algoritma & Pemrograman 1 Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia Daftar Isi 1. Bab 1 Pengantar & Dasar Dasar Algoritma 2. Bab 2 Aturan Penulisan Teks Algoritma 3. Bab 3 Tipe,

Lebih terperinci

STACK (Tumpukan) Tumpukan Koin. Tumpukan Kotak

STACK (Tumpukan) Tumpukan Koin. Tumpukan Kotak STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak Defenisi : Secara sederhana, tumpukan bisa diartikan sebagai suatu kumpulan data yang seolah-olah ada data yang diletakan diatas data yang lain. Satu hal yang

Lebih terperinci

Materi Pertemuan 08 ARRAY MULTI DIMENSI

Materi Pertemuan 08 ARRAY MULTI DIMENSI Materi Pertemuan 08 0 ARRAY MULTI DIMENSI Disusun oleh : Danang Junaedi OBJEKTIF Dalam bab ini mahasiswa mempelajari tentang : 1. Pengenalan Array Multi Dimensi 2. Penggunaan Array Multi Dimensi TUJUAN

Lebih terperinci

P3 Pengantar Pemrograman C

P3 Pengantar Pemrograman C P3 Pengantar Pemrograman C A. Sidiq Purnomo Prodi Teknik Informatika & Prodi Sistem Informasi Universitas Mercu Buana Yogyakarta Tujuan Mahasiswa dapat mengetahui dan memahami sejarah bahasa C, struktur

Lebih terperinci

PERTEMUAN VII FILE TEKS & FILE BINER

PERTEMUAN VII FILE TEKS & FILE BINER PERTEMUAN VII FILE TEKS & FILE BINER 7.1 Tujuan Praktikum Praktikan dapat membedakan antara file teks dan file biner serta dapat mendeklarasikan, membuat, membaca dengan menggunakan dua buah macam file

Lebih terperinci

PRAKTIKUM 2. perubah (variabel), konstanta, fungsi, atau obyek lain yang didefinisikan oleh

PRAKTIKUM 2. perubah (variabel), konstanta, fungsi, atau obyek lain yang didefinisikan oleh PRAKTIKUM 2 1. Variabel Pengenal (identifier) merupakan nama yang biasa digunakan untuk suatu perubah (variabel), konstanta, fungsi, atau obyek lain yang didefinisikan oleh pemrogram. Variabel adalah suatu

Lebih terperinci

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan CCH1A4 / Dasar & Pemrogramanan Yuliant Sibaroni M.T, Abdurahman Baizal M.Kom KK Modeling and Computational Experiment FUNGSI Overview Fungsi Konsep Fungsi Fungsi Sederhana Fungsi dengan Analisa Kasus If...Then...Else

Lebih terperinci

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN SEKOLAH TINGGI MANAJEMEN INFORMAA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN Mata Kuliah : ALGORITMA DAN PEMROGRAMAN A Kode Mata Kuliah : DK - 24301 Jurusan / Jenjang : S1 SISTEM KOMPUTER Tujuan

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP)

SATUAN ACARA PERKULIAHAN (SAP) SATUAN ACARA PERKULIAHAN (SAP) Nama Mata Kuliah : Pemrograman C++ Kode Mata Kuliah : MI 016 Bobot Kredit : 3/1 SKS Semester Penempatan : II Kedudukan Mata Kuliah : Mata Kuliah Keahlian Berkarya Mata Kuliah

Lebih terperinci

RENCANA PEMBELAJARAN SEMESTER (RPS)

RENCANA PEMBELAJARAN SEMESTER (RPS) RENCANA PEMBELAJARAN SEMESTER (RPS) KBKM13003 Algorithma dan Struktur Data I PROGRAM STUDI D3 MANAJEMEN INFORMATIKA (MI) FAKULTAS ILMU KOMPUTER (FILKOM) UNIVERSITAS PUTRA INDONESIA YPTK LEMBAR PENGESAHAN

Lebih terperinci

Pertemuan Ke-4 Urutan (sequence) Rahmady Liyantanto. liyantanto.wordpress.com. S1 Teknik Informatika-Unijoyo

Pertemuan Ke-4 Urutan (sequence) Rahmady Liyantanto. liyantanto.wordpress.com. S1 Teknik Informatika-Unijoyo Algoritma Pemrograman Pertemuan Ke-4 Urutan (sequence) Rahmady Liyantanto liyantanto88@yahoo.com liyantanto.wordpress.com Sub Pokok Bahasan Nilai Pengisian nilai ke dalam nama peubah Ekspresi Menuliskan

Lebih terperinci