Selasa, 30 September 2014

Pengenalan Bahsa C

Kita ketahui bersama bahwa pada awal berkembangnya komputer, tahun 70an, telah ditemukan bahasa pemrograman yang prosedural (belum berbasis object/oop). Nah, kebanyakan bahasa – bahasa ini digunakan untuk antarmuka hardware. Intinya digunakan supaya hardware tersebut bisa didetect dengan baik oleh system operasi komputer.

Bahasa – bahasa seperti ini jaman sekarang dikenal dengan bahasa asembly. Banyak yang menyebutnya dengan bahasa low level. Bahasa - bahasa prosedural tersebut diantaranya adalah bahasa C, Basic, Pascal, Fortran, dan lain lain. Sekarang bahasa C berkembang menjadi C++, Visual C++, Visual C#. Sedangkan bahasa Basic sendiri juga berkembang menjadi Visual Basic. Sementara pascal berkembang menjadi Delphi dan lain – lain .

1.Apa itu C++?
Sebelum C++ dikembangkan, sudah ada bahasa sejenis yang digunakan programmer yaitu bahasa C (dikembangkan oleh Dennis Ritchie dari bahasa B), saat itu dia dari Bell Laboratories sedang mengembangkan system operasi Unix. C ini merupakan bahasa prosedural, kemudian dikembangkan hingga menjadi sebuah bahasa pemrograman C yang berorientasi pada object (OOP – Object Oriented Programming) yang kemudian disebut dengan C++ (dikembangkan oleh Bejarne Stroustrup tahun 1979).

2.Bagaimana Filosophy bahasa C?
Secara umum, pemrograman dengan bahasa C menggunakan 2 konsep, yaitu data dan algorithms. Data merupakan bahan yang akan diolah, sedangkan algorithms adalah metode pengolahan.
Bisa dibilang algorithms ini adalah fungsi/cara/metode/langkah dan lain lain untuk mengolah data tersebut.
Lihat gambar 1:

Tapi bagaimanapun juga, penggunaan bahasa prosedural seperti C sangat tidak efisien untuk pembuatan software skala menengah ke atas. Terlalu banyak perulangan, terlalu banyak percabangan, terlalu banyak kode yang harus kita ketikan. Maka, seiring dengan perkembangan jaman dan teknologi, bahasa C ini dikembangkan ke tingkat lebih lanjut yaitu bahasa C yang berorientasi object yang disebut dengan C++.

3.Apa itu bahasa pemrograman berorientasi object? Apa bedanya dengan bahasa prosedural?
Object Oriented Programming (OOP) adalah bahasa pemrograman yang berorientasi pada object. Apa sih object??? Object itu ya bahasa pemrograman itu sendiri.

Mari kita renungkan. Misalnya kita membuat sebuah object mobil misalnya. Mobil ini bisa kita buat dengan prosedural language maupun dengan OOP language. Loh, jadi tidak ada bedanya dong?? Sebentar dulu, harap bersabar.
Kita tidak akan membahas bagaimana cara membuat 1 mobil, bahasa apa yang digunakan untuk membuat mobil, tapi yang kita bahas adalah 1 mobil. Yup mobil yang sudah jadi yang baru saja anda buat dari mengetikan puluhan kode misalnya.

Nah, sekarang saya ingin 1 mobil tadi digandakan menjadi 2 mobil. Bagaimana anda membuat mobil yang satunya?? Apakah anda akan mengopikan semua kode anda tadi untuk menjadikan mobil ke dua??? Ini cuman dua, bagaimana kalo saya ingin 3, atau 4, atau 120 mobil???

Ah, ada renungan lain, mobil tadi telah anda buat, pasti ada bagian bagiannya seperti roda. Nah, bagaimana kalo saya ingin mobil yang sama dengan cat yang berbeda? Bagaimana kalo saya ingin anda membuat mobil yang sama dengan salah satu roda nya kempes.
Disinilah object oriented programming punya peranan yang sangat penting. Kita hanya perlu membuat sebuah class mobil. Untuk membuat mobil baru hanya tinggal membuat instance baru. Dan lain sebagainya. Jauh lebih elegan, lebih efisien, lebih terstruktur ketimbang prosedural language.

4.Langsung saja, apa yang kita perlukan untuk belajar C++?
Anda bisa saja pakai aplikasi teks editor apa saja. Kemudian anda dapat mendownload aplikasi compiler apa saja yang sudah tersedia di internet. Mudah bukan??

Tapi, sekarang banyak sekali vendor yang menyediakan software komplit (lengkap) untuk anda baik berbayar maupun gratis. Software komplit ini dinamakan dengan IDE (Integrated Development Environment).

Dalam IDE ini terdapat editor khusus yang dapat kita gunakan, terdapat compiler yang terintegrasi dengan editor tadi, terdapat debugger, bahkan terdapat software deployer yang akan membuat kode anda menjadi software jadi disertai dengan installer nya.
Dengan editor khusus ini maka pekerjaan anda akan jauh lebih mudah, disertai dengan kode warna yang presentatif, disertai code inspektor yang akan langsung menginformasikan kepada anda bahwa kode yang anda ketikan salah, disertai juga dengan smart coding (intellisense code) yaitu saat anda mengetikan 1 huruf saja maka smart coding ini akan memunculkan baik method maupun propertis yang tersedia.

Disertai juga template ui dan installer, sehingga untuk membuat menu, bottom, dan lain – lain yang berhubungan dengan User Interface sudah dibundled pada software tersebut kita hanya tinggal membuat logic nya saja.
Banyak sekali IDE/SDK super powerfull gratis maupun berbayar yang dapat anda gunakan di jaman 2013 ke 2014 ini.
Referensi saya pribadi adalah anda dapat menggunakan QT 5.1 dan Visual Studio 2012. Semuanya gratis. Untuk visual studio yang gratis adalah Visual Studio Express. Atau mungkin anda memiliki referensi lain??

Bila sudah tersedia IDE super powerfull gratis dengan GUI yang komunikatif, haruskan saya install compiler sendiri dari download di internet? Haruskah saya memakai editor simple tanpa intellisense code?? Haruskah saya belajar menggunakan command line juga??
Semua ini anda sendiri yang dapat menjawabnya :)

5.Mari kita mencoba membuat Hello World Application
Buka editor anda, ketikan kode di bawah ini. Disini saya menggunakan Visual Studio 2012.
Lihat gambar 2:

Nah, kode di atas adalah kode default standar penulisan C++.
*Kenapa harus ada fungsi main() ?????
*Apa itu #include ?
*Kenapa tidak #include ?
*Kenapa memakai int??? Kenapa int main()?? Kenapa tidak main() saja?? Kenapa tidak main(void)?? Kenapa tidak void main()???
*Apa itu using namaspace std; ???
*Kenapa memakai return 0; ??

Pertanyaan – pertanyaan seperti inilah yang terlewatkan pada kebanyakan tutorial C++ yang bertebaran di internet.

Perlu diketahui bahwa kode di atas adalah kode standar C++, ada dapat me-run kode tersebut pada IDE anda dan cobalah lihat, pasti dapat berjalan dengan sempurna. Akan tertampil conlose window hasil dari running kode. Tetapi pada Visual Studio IDE, setelah eksekusi kode maka akan menutup secara otomatis. Memang begitulah Microsoft membuatnya. Sehingga untuk membuat window hasil running tetap ditempat (tidak close) anda dapat menambahkan:

cin.get();

kode ini akan meng-catch input yang dimasukan pengunjung sebelum window menutup. Bila pengunjung tidak mengetikan apa apa, maka window akan tetapi terbuka.
Lihat gambar 3:

Lihat gambar 4:

Pada Source.cpp di atas, kita akan menjelaskan bagian – bagian dari kode seperti berikut ini:

#include ini adalah preprocessor
int main() ini adalah function header
using namespace ini adalah using namespace directive
function body yaitu antara {}
statements yaitu pada code cout
return 0; yaitu return statement untuk menyudahi jalannya fungsi
Lihat gambar 5:

Mari kita lanjut ke pembahasan…

*Kenapa harus ada fungsi main() ?????

Saat anda me-run C++ program, eksekusi kode selalu dimulai dari fungsi main(). Ini adalah standard dari kode C++. Bagaimana bila tidak ada fungsi main() pada kode anda? Tentu program anda tidak akan berjalan dan compiler (compiler apa saja) akan menginformasikan kepada anda bahwa program anda tidak lengkap karena tidak terdapat fungsi main().

Jadi semua alur eksekusi kode dimulai dari fungsi main(), ini berbeda dengan bahasa pemrograman lain seperti php, actionscript, dan lain lain yang mana kita bisa memanggil langsung fungsi yang kita buat.
Lihat gambar 6:

Diatas adalah koding dengan php, lebih flexible karena kita bisa memanggil index.php dan menampilkan langsung fungsi – fungsi contoh() dan lagi() pada browser.
Lihat gambar 7:

Lihat kode c++ diatas, semua eksekusi harus melalui fungsi main(). Diatas kita meng-include karena kita menggunakannya untuk hal hal yang berhubungan dengan string. Hasilnya adalah seperti berikut ini:
Lihat gambar 8:

Nah, ada pertanyaan, bagaimana bila kita membuat file .dll (untuk Windows)? Haruskan kita menambahkan fungsi main()? .dll adalah sebuah dynamic link library, file ini tidak dapat berjalan sendiri, file ini bukan standalone, file ini hanya merupakan sebuah bagian dari dari aplikasi utama, sehingga .dll tidak membutuhkan fungsi main(), fungsi main() hanya perlu ditambahkan pada aplikasi utamanya / aplikasi pemanggilnya.

Ada pertanyaan lagi, terutama buat pengguna Visual C++ (dikembangkan oleh Windows), secara default tidak ada fungsi main() dalam Visual C++.
Lihat gambar 9:


Memang benar, microsoft mengembangkan Visual C++ dengan _tmain() yang merupakan non standard sintaks. Apakah itu berarti tidak ada fungsi main() dalam Visual c++?

Ya, ada fungsi main() yang tersembunyi yang akan memanggil fungsi _tmain() ini. Ini merupakan programming environment dalam Windows.

*Apa itu #include ?

Line di atas adalah preprocessor directives. C++ sama seperti C, sama – sama menggunakan preprocessor. Maksudnya adalah program akan memproses file tertentu terlebih dahulu sebelum proses compile utama dilakukan.

Iostream adalah file yang kita gunakan bila program kita berhubungan dengan input – output. Input – Output yang kita ambil dari file ini dan kita gunakan pada kode program adalah cout dan cin. Sehingga supaya cout dan cin tersebut berjalan sebagai menstinya kita perlu meng-iclude kan file yang kita butuhkan.

*Kenapa tidak #include ?

File – file yang kita gunakan pada include (termasuk iostream) biasanya disebut sebagai ‘include files’ atau ‘header files’. Pada bahasa C, penulisan untuk include file disertai extensi dari file tersebut misalnya iostream.h. nah, berbeda dengan penulisan pada C++, yang hanya cukup menggunakan nama file tanpa ekstensi (.h).

Dulu C++ juga menggunakan extensi file (.h) pada gaya penulisan, tetapi untuk style yang sekarang tidak diperlukan lagi. Jadi hanya cukup dengan #include.

Lalu bagaimana bila ditambahkan dengan .h? tentu saja tidak masalah :)

*Apa itu using namespace std; ???

Bila anda menginclude file dengan #include tanpa ektensi .h maka anda perlu menggunakan using namespace std;

Bila tidak menggunakan line diatas maka untuk memanggil cout dan cin dapat dengan :

Std::cout;

Serta
std::cin;

Mudah bukan???

Namespace ini sebetulnya digunakan untuk memudahkan penulisan kode bila program anda terdiri dari kode kode dari beberapa vendor.

Coba bayangkan, bila anda mengambil kode dari vendor ‘OkieInc’ dan vendor ‘MetuInc’ misalnya. Ternyata kedua-duanya memiliki nama fungsi yang sama yaitu ‘function Mediatutorial()’. Nah, tanpa namespace, compiler akan sangat bingung bahkan jadi hang karena harus memilih fungsi dari vendor yang mana?

Nah, dengan namespace, kita dapat memanggil fungsi dari vendor OkieInc dengan misalnya okieinc::Mediatutorial();

Sedangkan dari MetuInc dapat dengan:
metuinc::Mediatutorial();

Mungkin cukup sekian tutorial update untuk pengenalan C++, semoga bermanfaat, dan kita akan kembali dengan tutorial-tutorial C++ berikutnya.

Saya punya referensi bagus tentang C++, tapi ini hanya tahap pemula,belum pada GUI. Silahkan anda dapat download pada link yang telah tersedia di bawah ini



untuk lebih lengkap download Modulnya Disini

DBMS, DI, FMS,SF,Buffer

1.7. DBMS Architecture and Data Independence
The DBMS architecture describes how data in the database is viewed by the users. It is not concerned with how the data is handled and processed by the DBMS. The database users are provided with an abstract view of the data by hiding certain details of how data is physically stored. This enables the users to manipulate the data without worrying about where it is located or how it is actually stored.
In this architecture, the overall database description can be defined at three levels, namely, internal, conceptual, and external levels and thus, named three-level DBMS architecture. This architecture is proposed by ANSI/SPARC (American National Standards Institute/Standards Planning and Requirements Committee) and hence, is also known as ANSI/SPARC architecture. The three levels are discussed here.
Internal level: It is the lowest level of data abstraction that deals with the physical representation of the database on the computer and thus, is also known as physical level. It describes how the data is physically stored and organized on the storage medium. At this level, various aspects are considered to achieve optimal runtime performance and storage space utilization. These aspects include storage space allocation techniques for data and indexes, access paths such as indexes, data compression and encryption techniques, and record placement.
Conceptual level: This level of abstraction deals with the logical structure of the entire database and thus, is also known as logical level. It describes what data is stored in the database, the relationships among the data and complete view of the user’s requirements without any concern for the physical implementation. That is, it hides the complexity of physical storage structures. The conceptual view is the overall view of the database and it includes all the information that is going to be represented in the database.
External level: It is the highest level of abstraction that deals with the user’s view of the database and thus, is also known as view level. In general, most of the users and application programs do not require the entire data stored in the database. The external level describes a part of the database for a particular group of users. It permits users to access data in a way that is customized according to their needs, so that the same data can be seen by different users in different ways, at the same time. In this way, it provides a powerful and flexible security mechanism by hiding the parts of the database from certain users, as the user is not aware of existence of any attributes that are missing from the view.
These three levels are used to describe the schema of the database at various levels. Thus, the three-level architecture is also known as three-schema architecture. The internal level has an internal schema, which describes the physical storage structure of the database. The conceptual level has a conceptual schema, which describes the structure of entire database. The external level has external schemas or user views, which describe the part of the database according to a particular user’s requirements, and hide the rest of the database from that user. The physical level is managed by the operating system under the direction of DBMS. The three-schema architecture is shown in Figure 1.1.
Fig. 1.1. Three-schema architecture.
 To understand the three-schema architecture, consider the three levels of the BOOK file in Online Book database as shown in Figure 1.2. In this figure, two views (view 1 and view 2) of the BOOK file have been defined at the external level. Different database users can see these views. The details of the data types are hidden from the users. At the conceptual level, the BOOK records are described by a type definition. The application programmers and the DBA generally work at this level of abstraction. At the internal level, the BOOK records are described as a block of consecutive storage locations such as words or bytes. The database users and the application programmers are not aware of these details; however, the DBA may be aware of certain details of the physical organization of the data.
Fig. 1.2. Three levels of Online Book database (BOOK file)
Description: C:\IT\getfile.jpg

In three-schema architecture, each user group refers only to its own external view. Whenever a user specifies a request to generate a new external view, the DBMS must transform the request specified at external level into a request at conceptual level, and then into a request at physical level. If the user requests for data retrieval, the data extracted from the database must be presented according to the need of the user. This process of transforming the requests and results between various levels of DBMS architecture is known as mapping.
The main advantage of three-schema architecture is that it provides data independence. Data independence is the ability to change the schema at one level of the database system without having to change the schema at the other levels. Data independence is of two types, namely, logical data independence and physical data independence.
Logical data independence: It is the ability to change the conceptual schema without affecting the external schemas or application programs. The conceptual schema may be changed due to change in constraints or addition of new data item or removal of existing data item, etc., from the database. The separation of the external level from the conceptual level enables the users to make changes at the conceptual level without affecting the external level or the application programs. For example, if a new data item, say Edition is added to the BOOK file, the two views (view 1 and view 2 shown in Figure 1.2) are not affected.
Physical data independence: It is the ability to change the internal schema without affecting the conceptual or external schema. An internal schema may be changed due to several reasons such as for creating additional access structure, changing the storage structure, etc. The separation of internal schema from the conceptual schema facilitates physical data independence.
Logical data independence is more difficult to achieve than the physical data independence because the application programs are always dependent on the logical structure of the database. Therefore, the change in the logical structure of the database may require change in the application programs.
Data buffer
In computer science, a buffer is a region of a physical memory storage used to temporarily store data while it is being moved from one place to another. Typically, the data is stored in a buffer as it is retrieved from an input device (such as a microphone) or just before it is sent to an output device (such as speakers). However, a buffer may be used when moving data between processes within a computer. This is comparable to buffers in telecommunication. Buffers can be implemented in a fixed memory location in hardware—or by using a virtual data buffer in software, pointing at a location in the physical memory. In all cases, the data stored in a data buffer are stored on a physical storage medium. A majority of buffers are implemented in software, which typically use the faster RAM to store temporary data, due to the much faster access time compared with hard disk drives. Buffers are typically used when there is a difference between the rate at which data is received and the rate at which it can be processed, or in the case that these rates are variable, for example in a printer spooler or in online video streaming.
A buffer often adjusts timing by implementing a queue (or FIFO) algorithm in memory, simultaneously writing data into the queue at one rate and reading it at another rate.
Buffers are often used in conjunction with I/O to hardware, such as disk drives, sending or receiving data to or from a network, or playing sound on a speaker. A line to a rollercoaster in an amusement park shares many similarities. People who ride the coaster come in at an unknown and often variable pace, but the roller coaster will be able to load people in bursts (as a coaster arrives and is loaded). The queue area acts as a buffer—a temporary space where those wishing to ride wait until the ride is available. Buffers are usually used in a FIFO (first in, first out) method, outputting data in the order it arrived. Telecommunication buffer
A buffer routine or storage medium used in telecommunications compensates for a difference in rate of flow of data, or time of occurrence of events, when transferring data from one device to another.
Buffers are used for many purposes, including:
Interconnecting two digital circuits operating at different rates,
Holding data for later use,
Allowing timing corrections to be made on a data stream,
Collecting binary data bits into groups that can then be operated on as a unit,
Delaying the transit time of a signal in order to allow other operations to occur.
Buffer versus cache
A cache often also acts as a buffer, and vice versa. However, cache operates on the premise that the same data will be read from it multiple times, that written data will soon be read, or that there is a good chance of multiple reads or writes to combine to form a single larger block. Its sole purpose is to reduce accesses to the underlying slower storage. Cache is also usually an abstraction layer that is designed to be invisible.
A "Disk Cache" or "File Cache" keeps statistics on the data contained within it and commits data within a time-out period in write-back modes. A buffer does none of this.
A buffer is primarily used for input, output, and sometimes very temporary storage of data that is either en route between other media or data that may be modified in a non-sequential manner before it is written (or read) in a sequential manner.
Good examples include:
The BUFFERS command/statement in CONFIG.SYS of DOS.
The buffer between a serial port (UART) and a MODEM. The COM port speed may be 38400 bit/s while the MODEM may only have a 14400 bit/s carrier.
The integrated buffer on a Hard Disk Drive, Printer or other piece of hardware.
The Framebuffer on a video card.
History
An early mention of a print buffer is the Outscriber devised by image processing pioneer Russel A. Kirsch for the SEAC computer in 1952
One of the most serious problems in the design of automatic digital computers is that of getting the calculated results out of the machine rapidly enough to avoid delaying the further progress of the calculations. In many of the problems to which a general-purpose computer is applied the amount of output data is relatively big —so big that serious inefficiency would result from forcing the computer to wait for these data to be typed on existing printing devices. This difficulty has been solved in the SEAC by providing magnetic recording devices as output units. These devices are able to receive information from the machine at rates up to 100 times as fast as an electric typewriter can be operated. Thus, better efficiency is achieved in recording the output data; transcription can be made later from the magnetic recording device to a printing device without tying up the main computer.
Sequential file organization
A sequential file contains records organized by the order in which they were entered. The order of the records is fixed.
Records in sequential files can be read or written only sequentially.
After you have placed a record into a sequential file, you cannot shorten, lengthen, or delete the record. However, you can update (REWRITE) a record if the length does not change. New records are added at the end of the file.
If the order in which you keep records in a file is not important, sequential organization is a good choice whether there are many records or only a few. Sequential output is also useful for printing reports.
File Management System
Description: directory tree
Also referred to as simply a file system or filesystem. The system that an operating system or program uses to organize and keep track of files. For example, a hierarchical file system is one that uses directories to organize files into a tree structure.

Although the operating system provides its own file management system, you can buy separate file management systems. These systems interact smoothly with the operating system but provide more features, such as improved backup procedures and stricter file protection. 

Sistem berkas


  • Tugas

  1. Pertemuan Pertama

1.      Jelaskan dan beri contoh tentang File, Record, Field, Character dan Key !
2.      Jelaskan tentang jenis-jenis berkas dan contohnya !
3.      Jelaskan tipe operasi apa saja yang berlangsung saat memproses record di dalam file ?
4.      Jelaskan perbedaan :
-          Master file dengan Transaction file
-          File dan Database
-          Record dan Array
5.      Berikan contoh operasi INQUIRY pada record !


  1. Pertemuan Kedua

-          Review Media Penyimpanan data
-          Nilai tergantung dari informasi yang didapat dari masing-masing individu.
-          Referensi harus dituliskan
-          Kumpulkan 1 minggu












A.    Tugas pertemuan pertama

1.      Secara definisi
-           File: sekumpulan record dari tipe tunggal yang berisi elemen-elemen data  yang menggambarkan himpunan entitas.
Contoh : File mahasiswa yang berisi satu record untuk tiap mahasiswa dalam system.
-          Record (fisik): Lokasi penyimpanan yang terbuat dari rangkaian field yang berisi elemen-elemen data yang menggambarkan beberapa entitas.
Contoh : Area penyimpanan membutuhkan isi dari identifikasi nim, nama dan alamat dari salah satu mahasiswa (ketika menggunakan record yang didefinisikan terlebih dahulu).
-          Field:
  - Lokasi penyimpanan untuk salah satu elemen data
  - Suatu elemen yang memiliki attribut dan harga dan merupakan untui informasi terkecil yang bisa diakses
Contoh : ruang penyimpanan untuk identifikasi nim.
– adalah suatu elemen yang memiliki atribut dan harga dan merupakan unit informasi terkecil yang bisa diakses.
-          Character adalah elemen data dasar berisi alphabetic, numeric atau symbol-symbol lain.
Cotoh : bit atau byte, integer, real.
-          Key adalah suatu bidang record yang memungkinkan untuk membedakan antar record pada file yang sama.
Contoh : kunci untuk file kendaraan yang dicuri dapat berupa nomor polisi. Tidak mungkin 2 kendaraan mempunyai nomor polisi yang sama sehingga nomor tersebut merupakan kunci yang unik.
2.      Ada dua jenis berkas yaitu :
1.      Berkas Teks
-          Menyimpan informasi dalam bentuk baris-baris
-          Setiap baris dipisahkan oleh tanda eoln atau end of line yang terdiri dari salah satu atau gabungan dari karakter khusus carriage return (ASCII 13) dan line feed (ASCII 10)
-          Biasanya dapat dibaca isinya ketika dibuka menggunakan text editor semacam Notepad
-          Macamnya :
1.      Text File : berisi sembarang teks
2.      Source File : berisi kode sumber program atau script

3.      Jelaskan tipe operasi apa saja yang berlangsung saat memproses record di dalam file ?

-          Membuat sebuah berkas: Ada dua cara dalam membuat berkas. Pertama, tempat baru di dalam sistem berkas harus di alokasikan untuk berkas yang akan dibuat. Kedua, sebuah direktori harus mempersiapkan tempat untuk berkas baru, kemudian direktori tersebut akan mencatat nama berkas dan lokasinya pada sistem berkas.
-          Menulis pada sebuah berkas: Untuk menulis pada berkas, kita menggunakan system call beserta nama berkas yang akan ditulisi dan informasi apa yang akan ditulis pada berkas. Ketika diberi nama berkas, sistem mencari ke direktori untuk mendapatkan lokasi berkas. Sistem juga harus menyimpan penunjuk tulis pada berkas dimana penulisan berikut akan ditempatkan. Penunjuk tulis harus diperbaharui setiap terjadi penulisan pada berkas.
-          Membaca sebuah berkas: Untuk dapat membaca berkas, kita menggunakan system call beserta nama berkas dan di blok memori mana berkas berikutnya diletakkan. Sama seperti menulis, direktori mencari berkas yang akan dibaca, dan sistem menyimpan penunjuk baca pada berkas dimana pembacaan berikutnya akan terjadi. Ketika pembacaan dimulai, penunjuk baca harus diperbaharui.Sehingga secara umum, suatu berkas ketika sedang dibaca atau ditulis, kebanyakan sistem hanya mempunyai satu penunjuk, baca dan tulis menggunakan penunjuk yang sama, hal ini menghemat tempat dan mengurangi kompleksitas sistem.
-          Menempatkan kembali sebuah berkas: Direktori yang bertugas untuk mencari berkas yang bersesuaian, dan mengembalikan lokasi berkas pada saat itu. Menempatkan berkas tidak perlu melibatkan proses I/O. Operasi sering disebut pencarian berkas.
-          Menghapus sebuah berkas: Untuk menghapus berkas kita perlu mencari berkas tersebut di dalam direktori. Setelah ditemukan kita membebaskan tempat yang dipakai berkas tersebut (sehingga dapat digunakkan oleh berkas lain) dan menghapus tempatnya di direktori.
-          Memendekkan berkas: Ada suatu keadaan dimana pengguna menginginkan atribut dari berkas tetap sama tetapi ingin menghapus isi dari berkas tersebut. Fungsi ini mengizinkan semua atribut tetap sama tetapi panjang berkas menjadi nol, hal ini lebih baik dari pada memaksa pengguna untuk menghapus berkas dan membuatnya lagi.



4.      Perbedaan secara definisi

-       Transaction file disebut juga berkas transfer yang berisi record - record  yang  akan memperbaharui/mengupdate record - record yang ada pada berkas induk dapat berupa penambah record atau penghapusan.

-          Master file Induk, sumber Arsip yang disimpan dalam suatu media, yang terdiri dari kumpulan karakter, dan didokumentasikan.

-          File: sekumpulan record dari tipe tunggal yang berisi elemen-elemen data           yang menggambarkan himpunan entitas.

-          Database : kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut.

-          Record (fisik): Lokasi penyimpanan yang terbuat dari rangkaian field yang berisi elemen-elemen data yang menggambarkan beberapa entitas.

-          Array : Array adalah sekelompok data sejenis yang disimpan ke dalam variabel dengan nama yang sama, dengan memberi indeks pada variabel untuk membedakan antara yang satu dengan yang lain.


B.     Tugas pertemuan kedua

§  Media penyimpanan data ada 2 macam :
1.      Primary Storage ( Penyimpanan Primer )
Primary storage dibatasi oleh 2 faktor, yaitu :
-          Harga memori primer.
-          Masalah teknis dalam pengembangan memori utama yang sangat besar.

2.      Secondary Storage (Penyimpan Sekunder)
+ Kegunaan utama penyimpan sekunder antara lain :
-          Penyimpan program untuk penggunaan masa dating
-          Penyimpan informasi dalam bentuk file



-          Floopy Disk
Floppy disk drive yang menjadi standar pemakaian terdiri dari 2 ukuran yaitu 5.25” dan 3.5” yang masing-masing memiliki 2 tipe kapasitas Double Density (DD) dan High Density (HD).
Floppy disk 5.25” kapasitasnya adalah 360 Kbytes (untuk DD) dan 1.2 Mbytes (untuk HD). Sedangkan floppy disk 3.5” kapasitasnya 720 Kbytes (untuk DD) dan ntuk HD). Kapasitas yang dapat ditampung oleh floppy disk memang cenderung kecil, apalagi jika dibandingkan dengan kebutuhan transfer dan penyimpanan data yang makin lama makin besar. Floppy disk hanya dapat menyimpan file teks, karena keterbatasan kapasitas. Walaupun demikian, penulisan pada floppy disk dapat dilakukan berulang-ulang, walaupun memakan waktu yang relatif lama.

-          Zip Drive
ZIP drive berasal dari lomega. ZIP drive berukuran kecil 1,47 inchi. ZIP drive ini memperbaiki keterbatasan kapasitas yang dimiliki oleh floopy disk. Perangkat ini terdiri dari floopy drive dan cartridge floopy khusus, yang mapu menampung sampai 100MB data. Dengan kapasitas sebesar ini, dapat memungkinkan orang menyimpan file grafik dan mutimedia.

-          CD-ROM
CD-ROM yang ada saat ini umumnya terbuat dari resin (polycarbonate) dan dilapisi permukaan yang sangat reflektif seperti alumunium. Informasi direkam secara digital sebagai lubang-lubang mikroskopis pada permukaan yang reflektif. Proses ini dilakukan dengan menggunakan laser yang berintensitas tinggi. Permukaan yang berlubang ini kemudian dilapisi oleh lapisan bening. Informasi dibaca dengan menggunakan laser berintensitas rendah yang menyinari lapisan bening tersebut sementara motor memutar disk. Kemudian Intensitas laser tersebut berubah setelah mengenai lubang-lubang tersebut kemudian terefleksikan dan dideteksi oleh fotosensor yang kemudian dikonversi menjadi data digital. Penulisan data pada CD-ROM hanya dapat dilakukan sekali saja. Walaupun demikian, optical disk ini memiliki keunggulan dari segi mobilitas. Bentuknya yang kecil dan tipis memudahkannya untuk dibawa kemana-mana.














DAFTAR PUSTAKA


•   http://iwansantosa.files.wordpress.com/2009/04/presentasi-sistemkomputer.
Ppt.     
zpQoKCrsAAHJyOB41/SISTEM%20KOMPUTER.ppt?nmid=63757987