5 2.1 SISTEM BERKAS / FILE
Berkas komputer atau berkas (Inggris: file) adalah entitas dari data yang disimpan di dalam sistem berkas yang dapat diakses dan diatur oleh pengguna. Sebuah berkas memiliki nama yang unik dalam direktori di mana ia berada. Alamat direktori dimana suatu berkas ditempatkan diistilahkan dengan path. File secara fisik dapat diatur oleh sistem berkas yang digunakan oleh media penyimpanan di mana berkas disimpan. Secara logis, user membutuhkan sebuah utilitas untuk melakukan manajemen file, yang sering disebut sebagai "File Manager", atau manajer berkas. Contoh dari file manager adalah Windows Explorer dalam sistem operasi Windows, Norton Commander, Konqueror (dalam KDE), Nautilus (dalam GNOME), Midnight Commander, dan DOS Shell (dalam sistem operasi DOS).
2.2 SISTEM MANAJEMEN BASIS DATA
2.2.1 Apakah Basis Data Itu?
Basisdata adalah kumpulan data (elementer yang secara logik berkaitan dalam merepresentasikan fenomena / fakta secara terstruktur dalam domain tertentu untuk mendukung aplikasi pada sistem tertentu. Basisdata adalah kumpulan data yang saling berhubungan yang merefleksikan fakta – fakta yang terdapat di
organisasi. Basisdata mendeskripsikan state organisasi/perusahaan/sistem. Saat satu kejadian muncul di dunia nyata mengunbah state organisasi / perusahaan / sistem maka satu perubahan pun harus dilakukan terhadap data yang disimpan di basisdata.
Basisdata merupakan komponen utama sistem informasi karena semua informasi untuk pengambilan keputusan berasal dari data di Basisdata. Pengelolaan basisdata yang buruk dapat mengakibatkan ketidaktersediaan data penting yang digunakan untuk menghasilkan informasi yang diperlukan dalam pengambilan keputusan.
2.2.2 Sistem Manajemen Basisdata
Sistem Manajemen Basisdata atau DBMS (Database Management System) adalah perangkat lunak untuk mendefinisikan, menciptakan, mengelola, dan mengendalikan pengaksesan Basisdata. Fungsi sistem manajemen basisdata saat ini yang paling penting adalah menyediakan basis untuk sistem informasi manajemen.
2.2.3 Tujuan Utama
Tujuan utama Sistem Manajemen Basisdata adalah menyediakan lingkungan yang nyaman dan efisien untuk penyimpanan dan pengambilan data dari Basisdata.
Sistem manajemen Basisdata berperan memberi abstraksi data tingkat tinggi ke pemakai. Sistem manajemen Basisdata adalah perangkat lunak yang dirancang untuk membantu pengelolaan dan rangkaian koleksi data yang besar. Pemakai berurusan dengan abstraksi tingkat tinggi yang lebih akrab, nyaman dan fleksibel bukan rincian fisik penyimpanan data.
2.2.4 Diagram Blok DBMS
Sistem Manajemen Basisdata dipartisi menjadi modul – modul dengan masing – masing modul mempunyai satu peran atau tanggung jawab tertentu.
Komponen fungsional Sistem Manajemen Basisdata, antara lain : 1. Pengelola Berkas (File Manajer)
2. Pengelola Basisdata (Database Manager) 3. Pemroses Query (Query Processor) 4. Pre-Kompilator DML (DML Precompiler) 5. Kompilator DDL (DDL Compiler)
Struktur data untuk implementasi secara fisik adalah : 1. Data Dictionary
2. Berkas – berkas data
1. Data Dictionary / Directory
Subsistem data dictionary /directory (DD) menyimpan definisi – definisi semua item data di basisdata. Kamus data ini berisi definisi – definisi item – item data elementer (Field), kelompok, struktur, data level rekord, file – file dan tabel –
tabel relasional. Kamus data tidak hanya mengelola informasi – informasi ini tapi juga informasi hubungan antar struktur data. Kamus data juga mengelola indeks untuk mengakses data secara cepat.
Kamus data dapat dipandang sebagai bagian basis data itu sendiri. Dengan demikian, basisdata mendeskripsikan dirinya sendiri karena berisi informasi mengenai struktur yang dimilikinya. Informasi di kamus data disebut Metadata yaitu ‘data mengenai data’. Metadata juga dapat dikenai query dan manipulasi sebagaimana data lain yang berada di basisdata.
2. Berkas – Berkas Data
Data di basisdata harus distrukturkan secara hati – hati. Fungsi bisnis arus dianalisis, elemen – elemen data dan hubungan antar elemen – elemen data harus dapat diidentifikasi serta didefinisikan secara presisi, dan definisi – definisi ini harus direkam ke kamus data secara akurat. Data kemudian dapat dikumpulkan dan dimasukkan ke basisdata sesuai struktur yang telah didefinisikan. Data akan disimpan oleh manajer basisdata sebagai berkas – berkas data sesuai model fisik yang digunakan oleh manajer basis data yang tidak menjadi kepedulian pemakai basis data.
Kebanyakan pemakai basisdata tidak berurusan dengan model fisik secara langsung, kebanyakan hanya berhubungan dengan model logik yang lebih mudah dan ampuh untuk dimanipulasi seperti pandangan data di basisdata sebagai kumpulan relasi pada model relasional. Pemakai memandang data – data yang di
basisdata relasional sebagai kumpulan relasi – relasi yang saling terhubug melalui hubungan – hubungan logik atribut – atribut di dalam relasi – relasi itu sendiri.
GAMBAR 2.1 Skema Blok DBMS
2.3 ALGORITMA PENCARIAN BERURUTAN (SEQUENSIAL LINIER)
Pencarian data sering juga disebut table look-up atau storage and retrieval information adalah suatu proses untuk mengumpulkan sejumlah informasi di dalam pengingat komputer dan kemudian mencari kembali informasi yang diperlukan secepat mungkin.
Algoritma pencarian (searching algorithm) adalah algoritma yang menerima sebuah argumen kunci dan dengan langkah-langkah tertentu akan mencari ekaman
Pemakai Awam Pemrogram Aplikasi Pemakai Canggih Administrator Basisdata
Interface
Aplikasi Program Aplikasi Query Basisdata Skema
Pre-Kompilator bahasa
Manipulasi data (DML) Pengolah
Kode Objek
Program Aplikasi Basisdata Manajer Pre-Kompilator bahasa Definisi Data (DDL)
File Manager
dengan kunci tersebut. Setelah proses pencarian dilaksanakan, akan diperoleh salah satu dari dua kemungkinan, yaitu data yang dicari ditemukan (successful) atau tidak ditemukan (unsuccessful).
Pencarian berurutan sering disebut pencarian linear merupakan metode pencarian yang paling sederhana. Pencarian berurutan menggunakan prinsip sebagai berikut: data yang ada dibandingkan satu per satu secara berurutan dengan yang dicari sampai data tersebut ditemukan atau tidak ditemukan.Pada dasarnya, pencarian ini hanya melakukan pengulangan dari 1 sampai dengan jumlah data. Pada setiap pengulangan, dibandingkan data ke-i dengan yang dicari. Apabila sama, berarti data telah ditemukan. Sebaliknya apabila sampai akhir pengulangan tidak ada data yang sama, berarti data tidak ada. Pada kasus yang paling buruk, untuk N elemen data harus dilakukan pencarian sebanyak N kali pula. Algoritma pencarian berurutan dapat dituliskan sebagai berikut :
1 i 0
2 ketemu false
3 Selama (tidak ketemu) dan (i <= N) kerjakan baris 4 4 Jika (Data[i] = x) maka ketemu true, jika tidak i i + 1
5 Jika (ketemu) maka i adalah indeks dari data yang dicari, jika tidak data tidak ditemukan
Di bawah ini merupakan fungsi untuk mencari data menggunakan pencarian sekuensial.
! " # $ %% & '! &
Program 2.1 Fungsi untuk Mencari Data dengan Metode Sekuensial
Fungsi diatas akan mengembalikan indeks dari data yang dicari. Apabila data tidak ditemukan maka fungsi diatas akan mengembalikan nilai –1.
2.4 BORLAND DELPHI
Delphi adalah sebuah bahasa pemrograman dan lingkungan pengembangan perangkat lunak. Produk ini dikembangkan oleh CodeGear sebagai divisi pengembangan software milik Embarcadero, divisi tersebut sebelumnya adalah milik Borland. Bahasa Delphi, atau dikenal pula sebagai object pascal (pascal dengan ekstensi pemrograman berorientasi objek (PBO/OOP)) pada mulanya ditujukan hanya untuk Microsoft Windows, namun saat ini telah mampu digunakan untuk mengembangkan aplikasi untuk Linux dan Microsoft .NET
framework (lihat di bawah). Dengan menggunakan Free Pascal yang merupakan proyek opensource, bahasa ini dapat pula digunakan untuk membuat program yang berjalan di sistem operasi Mac OS X dan Windows CE
Aspek penting yang perlu dicatat tentang Bahasa pemrograman Delphi termasuk:
• Penanganan object sebagai reference/pointer secara transparan
• Properti sebagai bagian dari bahasa tersebut; benar, sebagai getter dan setter (atau accessor and mutator), yang secara transparan mengenkapsulasi akses pada field-field anggota dalam kelas tersebut. • Property index dan Default yang menyediakan akses pada data kolektif • Pendelegasian (type safe method pointer) yang digunakan untuk
memproses event yang dipicu oleh component
• Pendelegasian implementasi interface pada Field ataupun property dari class.
• Implementasi penanganan windows message dengan cara membuat method dalam class dengan nomer/nama dari windows message yang akan dihandle.
• COM bersifat sebagai interface yang independen dengan implementasi class sebagai reference counted
• Kompilasi yang dapat menghasilkan kode yang berjalan secara native x86 ataupun managed code pada arsitektur framework .NET.
2.5 BAHASA PEMODELAN OBYEK STANDAR (UNIFIED MULTIPLE LANGUAGE / UML)
Unified Modeling Language (UML) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa berorientasi objek.
UML diagram:
• Menggambarkan konsep (Dalam bentuk symbol)
• Menggambarkan hubungan/relasi antar konsep (Berupa garis)
• Menggambarkan nama (Label dibawah atau samping suatu simbol dan garis)
Diagram UML terdiri dari :
• Use-Case (relasi dari fungsi sistem aktor) • Class (Struktur klas statis)
• Object (sama dengan klas − hanya menggunakan klas instansi – contoh objek) • State (Kondisi objek dalam klas biasa)
• Sequence (Struktur Pesan objek saat transisi)
• Collaboration (Sama seperti sequence tapi menunjukkan konteks, contohnya
objek dan relationship-nya)
• Component (Kode Struktur)
• Deployment (Pemetaan dari perangkat lunak ke perangkat keras)
GAMBAR 2.2 Contoh Diagram UML
Notasi Dasar UML :
1. Actor : Segala sesuatu yang berinteraksi langsung dengan sistem
Tugas : Memberikan informasi kepada sistem dan memerintahkan sesuatu ke sistem
GAMBAR 2.3 Notasi Actor pada UML 2. Class
Notasi utama dan yang paling mendasar pada diagram UML adalah notasi untuk merepresentasikan suatu class beserta dengan atribut dan operasinya. Class adalah pembentuk utama dari sistem berorientasi objek.
UML diagrams Use-Case Static Structure State Activity Interaction Implementation Object Class Sequence Collaboration Component Deployment
Class Atribut Operasi
GAMBAR 2.4 Notasi Class pada UML
3. Use Case
Use case adalah deskripsi fungsi dari sebuah sistem dari perspektif pengguna. Use case bekerja dengan cara mendeskripsikan tipikal interaksi antara pengguna sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai. Urutan langkah–langkah yang menerangkan antara pengguna dan sistem disebut skenario.
GAMBAR 2.5 Notasi Use Case pada UML
2.5.1 Use Case Diagram
Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya.
Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem.Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam
dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali usecase yang meng-include dieksekusi secara normal.Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common.
GAMBAR 2.6 Contoh Use Case dalam Sistem Pendaftaran Kursus
2.5.2 Activity Diagram
Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir serta menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem)
Pelajar
Administrator
Guru Daftar Kursus
Ambil kursus Tambah kelas Kursus
Batal kelas Kursus Hapus kelas Kursus
secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.
Simbol dalam Activity Diagram :
Tabel 2.1 Simbol Activity Diagram
Simbol Keterangan
Titik Awal Titik Akhir Activity
Pilihan untuk pengambilan keputusan
Fork; untuk menunjukkan kegiatan yang dilakukan secara paralel Rake; menunjukkan adanya dekomposisi
Tanda waktu Tanda Penerimaan Aliran Akhir (Flow final)
GAMBAR 2.7 Contoh Activity Diagram
Datang ke tempat
kursus Memilih Jenis Kursus Administrator
Registrasi Kursus AKHIR
AWAL
2.5.3 Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).
Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.
GAMBAR 2.8 Contoh Sequence Diagram
2.6 REKAYASA PERANGKAT LUNAK
2.6.1 Model Sequensial Linier
Sekuensial linier mengusulkan sebuah pendekatan kepada perkembangan perangkat lunak yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan.
NAME NAME
Life Line Objek
Dimodelkan setelah siklus rekayasa konvensional, model sekuensial linier, melingkupi aktifitas – aktifitas sebagai berikut (Pressman, 2002. 36-39)
Gambar 2.9 Model Sequensial Linier
2.6.1.1. Rekayasa Dan Pemodelan Sistem Informasi
Karena perangkat lunak selalu merupakan bgian dari sebuah sistem (bis bis) yang lebih besar, kerja dimulai dengan membangun syarat dari semua elemen sistem dan mengalokasikan beberapa subset dari kebutuhan ke perangkat lunak tersebut. Pandangan sistem itu penting ketika perangkat lunak harus berhubungan dengan elemen – elemen yang lain seperti perangkat lunak, manusia, dan database.
2.6.1.2. Analisis Kebutuhan Perangkat Lunak
Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya pada perangkat lunak. Untuk memahami sifat program yang dibangun; prekayasa perangkat lunak (analisis) harus memahami domain informasi, tingkah laku, unjuk kerja, dan antar muka (interface) yang diperlukan.
Analisis Desain Kode Tes
Pemodelan sistem informasi
2.6.1.3. Desain
Desain perangkat lunak sebenarnya adalah proses multi langkah yang berfokus pada empat atribut sebuah program yang berbeda; struktur data, arsitektur perangkat lunak, representasi interface, dan detail (algoritma) pro sedural.
2.6.1.4. Generasi Kode
Desain harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca langkah pembuatan kode melakukan tugas ini. Jika desain dilakukan dengan cara yang lengkap, pembuatan kode dapat diselesaikan secara mekanis.
2.6.1.5. Pengujian BlackBox
Metode ujicoba blackbox memfokuskan pada keperluan fungsional dari software. Karena itu ujicoba Blackbox memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. Ujicoba blackbox bukan merupakan alternatif dari ujicoba whitebox, tetapi merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainnya, selain menggunakan metode whitebox. Ujicoba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya :
1. Fungsi-fungsi yang salah atau hilang 2. Kesalahan interface
4. Kesalahan performa
5. Kesalahan inisialisasi dan terminasi
Gambar 2.10 Tes BlackBox
Contoh lain Black Box Testing adalah
1. Equivalence partitioning, membagi domain input dari program ke dalam klas-klas data
2. Boundary Value Analysis (BVA) melengkapi Equivalence Partitioning, dengan melakukannya dari domain output
3. Cause-effect Graphing, memvalidasi aksi – aksi dan kondisi yg kompleks Partisi Ekivalensi (equivalensi partition)
• Input data dan output hasil terdapat di klas yang berbeda yang sesuai dengan klas inputnya
• Masing-masing klas equivalensi partition diproses dimana program akan memproses anggota klas-klas tersebut secara equivalen.
• Test cases dipilih dari masing-masing partisi
System
Output Data
Input Data I
Oe
Outputs which reveal the presence of
defects Inputs causing
anomalous behaviour
2.6.2 Notasi Diagram Alir
Notasi sederhana untuk merepresentasikan alira kontrol yang disebut Diagram Alir (Atau diagram program). Untuk menggambarkan grafik alir, perhatikan presentasi desain prosedural pada gambar 2.8.a. Disini bagan alir digunakan untuk menggambarkan struktur kontrol program. Gambar 2.8.b memetakan bagan alir tersebut kedalam grafik alir yang sesuai (dengan mengasumsikan bahwa tidak ada kondisi senyawa yang diisikan di dalam diamond keputusan dari bagan alir tersebut).
Pada gambar 2.3.b, masing – masing lingkaran, yang disebut simpul grafik alir, merepresentasikan satu atau lebih statemen prosedural. Urutan kotak proses dan permata keputusan dapat memetakan simpul tunggal. Anak panah pada grafik alir tersebut, yang disebut edges atau links, merepresentasikan aliran kontrol dan analog dengan anak panah bagan alir. Edge harus berhenti pada suatu simpul, meskipun bila simpul tersebut tidak merepresentasikan statemen prosedural (misalnya, lihat simpul bangun if-then-else). Area yang dibatasi oleh edge dan simpul disebut region. Pada saat menghitung region, kita memasukkan area diluar grafik dan menghitungnya sebagai sebuah region.
GAMBAR 2.8.a Diagram Alir
GAMBAR 2.8.b Grafik Alir • • 1 2 3 4 5 6 7 8 11 1 2,3 4,5 6 7 8 9 10 11