• Tidak ada hasil yang ditemukan

PENERAPAN MANAJEMEN TRANSAKSI RESERVASI TIKET KAPAL LAUT BERBASIS WEB

N/A
N/A
Protected

Academic year: 2019

Membagikan "PENERAPAN MANAJEMEN TRANSAKSI RESERVASI TIKET KAPAL LAUT BERBASIS WEB"

Copied!
182
0
0

Teks penuh

(1)

PENERAPAN MANAJEMEN TRANSAKSI

RESERVASI TIKET KAPAL LAUT BERBASIS WEB

( Studi Kasus : PT. Bangun Jasa Terpadu )

SKRIPSI

Ditujukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika

Disusun Oleh:

W. I Etta Farneubun

025314072

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)

THE APPLICATION OF TRANSACTION

MANAGEMENT ON

WEB BASED SHIP TICKET RESERVATION

( Case Study : PT Bangun Jasa Terpadu )

SKRIPSI

Proposed To Fulfil One Of The Requirements

To Obtain Bachelor Degree In Information Technology

By :

W. I ETTA FARNEUBUN

025314072

INFORMATION TECHNOLOGY

FACULTY OF TECHNIQUE

SANATA DHARMA UNIVERSITY

(3)
(4)
(5)

PERNYATAAN

Dengan ini saya sebagai penulis tugas akhir menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali pemikiran, metode atau hasil penelitian orang lain yang diambil disebutkan dengan jelas sebagai acuan.

Yogyakarta, Mei 2007

(6)

HALAMAN PERSEMBAHAN

Karya ini kupersembahkan untuk :

...

Yesus-ku yang selalu memberikan aku kekuatan disaat aku putus asa dan

selalu memberikan aku kebahagiaan disaat aku sedih,

...

Ibuku dan Alm Bapak yang telah membesarkan dan mendidik aku dengan

cinta dan kelembutan,

...

Kakak dan kemenakan-kemenakanku yang selalu menyayangi dan menghibur

aku,

...

(7)

HALAMAN MOTTO

Ada waktu untuk Menangis,

Ada Waktu untuk Tertawa ;

Ada Waktu untuk Meratap,

Ada waktu untuk Menari.

Ia Membuat Sesuatu Indah

Pada Waktunya

( Pengkhotbah 3:4,11a)

Faith Makes all thing possible

Hope makes all things work

(8)

ABSTRAKSI

Sistem informasi reservasi tiket kapal laut berbasis web merupakan sistem informasi yang melayani pemesanan tiket secara online untuk keberangkan dari dermaga Tanjung Perak Surabaya dengan tujuan beberapa dermaga terbesar di indonesia.

Sistem ini terdiri dari 2 pemakai yaitu user dan admin. Adapun berbagai fasilitas yang tersedia bagi user yaitu dapat melakukan pemesanan tiket dengan terlebih dahulu melakukan proses registrasi. Selain itu user juga dapat melakukan proses perubahan data pribadi, melihat data pesanan, membatalkan pesanan, melihat informasi yang berhubungan dengan kapal seperti jadwal keberangkatan kapal, harga tiket , fasilitas yang disediakan kapal, fasilitas kelas, dll. Sedangkan untuk admin dapat mengolah data kapal, kelas, dermaga, harga tiket maupun untuk menangani proses pembelian dan penentuan nomor tempat.

(9)

ABSTRACT

Information system for web based ship ticket reservation is an information system which provides online ticket reservation service for departure from Tanjung Perak Harbor Surabaya to different largest harbors destination in Indonesia.

This system consisted of 2 wearer that is user and admin. The facilities available to users are they can reserve ticket after doing registration process. In addition, users can change information in their personal identity, see their reservation data, cancel reservation, search for information such as ship departure schedule, ticket fare, facility provided by the ships, class facility, etc. Differently, Admin can manage data of the ship, class, harbor, ticket fare and also can manage the process of ticket purchasing and assign the seat number.

(10)

KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Kuasa yang telah melimpahkan berkat-Nya sehingga penulis dapat menyelesaikan Laporan Tugas Akhir ini. Penulisan tugas akhir ini ditujukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik Jurusan Teknik Informatika.

Terselesaikannya penulisan tugas akhir ini tidak lepas dari peran serta beberapa pihak, baik secara langsung maupun secara tidak langsung. Oleh karena itu, penulis ingin menyampaikan terima kasih kepada pihak-pihak yang telah ikut membantu dalam penulisan tugas akhir ini, baik dalam memberikan bimbingan, petunjuk, kerjasama, kritikan, maupun saran antara lain kepada:

1. Bapak JB. Budi Darmawan, S.T., M.Sc., selaku Dosen Pembimbing , yang telah banyak membantu terutama dalam memberikan bimbingan, dukungan, dan penyediaan sarana yang mendukung, sehingga penulis dapat menyelesaikan laporan tugas akhir ini. Terima kasih banyak pak, atas semuanya.

2. Ibu Agnes Maria Polina, S.Kom., M.Sc., selaku Ketua Jurusan Teknik Informatika Universitas Sanata Dharma dan salah satu dosen penguji.

3. Bapak Wisnu dan Bapak Yudi, selaku Dosen Penguji TA.

(11)

5. Bapak Bele, makasih atas segala bantuan yang diberikan.

6. Ibuku tercinta yang telah memberikan semua yang dimiliki kepada penulis, tanpa mengarapkan imbalan apapun. Terima kasih Tuhan karena telah memberikan ibu yang luar biasa.

7. Ka Ida dan Bu Abas, Ka Robi dan ka Eda, ka nona and spesial buat ka didi, makasih buat semangat, bantuan dan cinta dari kalian. Aku bangga menjadi adik kalian.

8. Kemenakan-kemenakanku : Sri, Jorf, Mozat, ade Nona, Afo kalian selalu jadi penghibur buat bong. Kapan maen ke jogja ?

9. Agnes, Regis, Anna dan Ferdi, makasih buat perhatian selama ini and buat Agnes makasih sudah mau antar jemput bong.

10.Om Engel keluarga, Om Pla keluarga makasih buat bantuan selama ini. Buat mama Du, makasih buat kasih sayang tanpa lelah yang mama Du berikan, mama Tu, Ebenis, Eb Jayapura makasih buat nasihatnya. Sr Yohana, makasih sudah jadi penyemangat waktu ujian, yang akur sama Sr Stefani ya?.

11.My Best Friends : Borne ( makasih udah jadi saudara and sabahat buat aku ), Pipiet , Butet, Banang. Makasih buat persahabatan yang kalian berikan. Sampai kapanpun kalian adalah sahabat terbaikku. Tanpa kalian Jogja terasa sepi. He...he...he..

12.Melin, Tri, Dian. Bersama kalian hari-hari kuliah yang membosankan terasa mengasikan. Ayo semangat kalian pasti bisa.

(12)

aku header. Top bgt), Lijun ( makasih udah kasih semangat buat aku untuk maju and yakini aku bahwa aku bisa.Makasih ya???? ), Dadit, Tono, Santo, Pristo, Tere, Yohana dan semuanya ya.

14.Teman-teman TI’01 : Mas Sigit, ka Anan, ka Vindi, Mas Tio, Mb Nita, Mb Agnes, Xtin ( makasih udah jadi teman yang super gila buat aku. Hari-hari dikost terasa menyenangkan ), Ka dami ( makasih udah ajarin aku transaction support.), and special thanks untuk Sunarko,S.T. yang telah membantu penulis dalam pembuatan program.

15.Teman-teman Kost : Ka Sri ( kapan foto-foto and karoeke lagi??? ), Mb Uci, Mb Tiar, Dani, Ida and spesial buat ka Vina ( Ka, makasih atas printernya ya. he..he..he. Ka Pin, semangat ya ).

16.Teman-teman dari Tual : Sri, Ka Eri, Ena, Ani, Dona and adik, Ati Esomar, Enjelo, Ka Jimie, Ka Ivo dan semua anak-anak Babarsari. Kapan pesta-pesta lagi?

17.Dan seluruh pihak yang telah ikut ambil bagian dalam penyelesaian laporan tugas akhir ini yang tidak dapat penulis sebutkan satu-persatu.

(13)

membutuhkannya. Atas segala perhatiannya dan kerjasamanya, penulis ucapkan terima kasih.

Yogyakarta, Mei 2007

(14)

DAFTAR ISI

Halaman Judul...i

Halaman Persetujuan………...ii

Halaman Pengesahan………..iii

Halaman Pernyataan………...iv

Halaman Persembahan……….v

Halaman Motto………...vi

Abstraksi...vii

Abstract...viii

Kata Pengantar………...ix

Daftar isi...xiii

Daftar Gambar...xvii

Daftat Tabel...xxi

BAB I Pendahuluan ………1

1.1Latar Belakang Masalah………...1

1.2Rumusan Masalah..………...2

1.3Batasan Masalah.……….……….2

1.4Tujuan Penelitian..………2

1.5Metodologi Penelitian .……….…4

1.6Sistematika Penulisan………....5

BAB II Landasan Teori………7

(15)

2.2 Kebutuhan Concurency Control Dan Level Isolasi Dalam Oracle ...9

2.3 Sistem………...………....13

2.3.1 Konsep Dasar Sistem...13

2.3.2 Karakteristik Sistem ... ...13

2.4 Informasi ...……….15

2.4.1 Konsep Dasar Informasi...15

2.4.2 Siklus Informasi... ...15

2.4.3 Kualitas Informasi... ...16

2.4.4 Nilai Informasi ...16

2.5 Metodologi Pengembangan Sistem…….………16

2.5.1 Use Case Diagram……...16

2.6 ERD (Entity Relationship Diagram) ...18

2.7 DFD (Data Flow Diagram) ...22

2.8 Word Wide Web ...24

2.9 HTML ( Hypertext Mrkup Language ) ...25

2.10 PHP ( Personal Home Page ) ...26

2.10.1 Hubungan PHP dan HTML...27

2.10.2 Kelebihan PHP... ...29

2.11 Pemrograman SQL di Oracle ...30

2.12 Pemrograman PL/SQL...33

2.12.1 Store Procedure...36

2.12.2 Package... ...37

(16)

2.12.4 Fungsi-Fungsi PHP ...38

BAB III Analisa dan Perancangan Sistem...40

3.1 Analisis Sistem...40

3.1.1 Gambaran Umum Sistem Yang Lama...40

3.1.2 Gambaran Umum Sistem Yang Baru...41

3.1.2.1 Ruang Lingkup Sistem...43

3.1.3 Requirement Analysis...44

3.1.3.1 Use Case Diagram...44

3.1.4 Logical Design...45

3.1.4.1 Process Modeling...45

3.1.4.1.1 Context Diagram...46

3.1.4.1.2 Diagram Berjenjang...48

3.1.4.1.3 Overview Diagram...49

3.1.4.2 Data Modeling...67

3.2 Disain Sistem ...68

3.2.1 Disain Database...68

3.2.2 Relasi Antar Tabel...72

3.3 Disain Penanganan Masalah Multi User ...72

3.3.1 Kemungkinan Masalah Yang Bisa Terjadi ...72

3.3.2 Penanganan Terhadap Masalah Yang Terjadi ...74

3.4 Disain Teknologi Yang Digunakan ...75

BAB IV Implementasi Sistem ...………...76

(17)

4.2 Kebutuhan Sistem...76

4.3 Setting Koneksi PHP ke Oracle Database...77

4.4 User Interface...78

4.4.1 User Interface untuk user... ...78

4.4.2 User Interface untuk Admin...95

4.4.2.1 Proses Input Admin... ...95

4.4.2.2 Proses Output Admin... ...106

BAB V Analisa Hasil...120

5.1 Pengujian Aplikasi ...120

5.1.1 Pengujian Aplikasi Tanpa Menggunakan Teknologi Manajemen Transaksi ...120

5.1.2 Pengujian Aplikasi Dengan Menggunakan Teknologi Manajemen Transaksi ...125

5.1.2.1 Pengujian Terhadap Masalah Hilangnya Data Yang Diubah (The Lost Update Problem) ...126

5.1.2.1.1 Pengujian Terhadap Proses Pemesanan Tiket... ...126

5.1.2.1.2 Pengujian Terhadap proses Pembatalan Tiket...134

5.2 Kelebihan Dan Kekurangan Sistem ...140

5.2.1 Kelebihan Sistem ...140

5.2.2 Kekurangan Sistem ...141

BAB VI Penutup ...142

(18)
(19)

DAFTAR GAMBAR

Gambar Keterangan Halaman

2.1 Diagram Transisi Transaksi 8

2.2 Simbol Use Case 17

2.3 Simbol Aktor 17

2.4 Contoh dari E-R Diagram 18

2.5 Contoh dari Entity 19

2.6 Contoh dari Atribut 19

2.7 Contoh dari identifier atau key 20

2.8 Contoh dari Relasi 21

2.9 Notasi dari Cardinality 21

2.10 Simbol Proses menurut Gane dan Sarson 23

2.11 Simbol dari arus data 23

2.12 Simbol kesatuan luar menurut Gane dan Sarson 23 2.13 Simbol penyimpanan data menurut Gane dan Sarson 24

3.1 Use Case Diagram 45

3.2 Context Diagram 47

3.3 Diagram Berjenjang 48

3.4 Overview Diagram 49

3.5 Overview Diagram Level 1 Proses Registrasi dan Login 50 3.6 Overview Diagram Level 1 Proses Update Data Kapal 51 3.7 Overview Diagram Level 1 Proses Update Data Kelas 52 3.8 Overview Diagram Level 1 Proses Update Data Dermaga 53 3.9 Overview Diagram Level 1 Proses Update Data Detail Kapal 54 3.10 Overview Diagram Level 1 Proses Update Data Tiket 55 3.11 Overview Diagram Level 1 Proses Data Transaksi Pemesanan 56 3.12 Overview Diagram Level 1 Proses Transaksi Pembelian 57 3.13 Overview Diagram Level 1 Proses Update Data Tempat 58 3.14 Overview Diagram Level 1 Proses Update Data Detail Tiket 59 3.15 Overview Diagram Level 1 Proses Update Data Pemesan 60 3.16 Overview Diagram Level 1 Proses Update Data Propinsi 61 3.17 Overview Diagram Level 1 Proses Update Data Fasilitas 62 3.18 Overview Diagram Level 1 Proses Update Data Berita 63 3.19 Overview Diagram Level 1 Proses Update Data Buku Tamu 64 3.20 Overview Diagram Level 1 Proses Ubah Password 65 3.21 Overview Diagram Level 1 Proses Proses Logout 66

3.22 ER Diagram 67

3.23 Relasi Antar Tabel 72

4.1 User Interface Halaman Index 78

(20)

4.5 User Interface Halaman Lupa Password 84 4.6 User Interface Halaman Home User Setelah Login 86

4.7 User Interface Halaman Pemesanan 87

4.8 User Interface Halaman Form Pemesanan 89

4.9 User Interface Halaman Detail Pemesanan 90 4.10 User Interface Halaman Batal Pemesanan 92 4.11 User Interface Halaman Ubah Data Pemesan 94

4.12 User Interface Halaman Login Admin 95

4.13 User Interface Halaman Input Kapal 96

4.14 User Interface Halaman Input Kelas 98

4.15 User Interface Halaman Input Dermaga 99

4.16 User Interface Halaman Input Data Tiket 101 4.17 User Interface Halaman Input Data Detail Kapal 103 4.18 User Interface Halaman Input Pembelian dan Tempat 105

4.19 User Interface Halaman Output Kapal 107

4.20 User Interface Halaman Output Kelas 108

4.21 User Interface Halaman Output Dermaga 110

4.22 User Interface Halaman Output Tiket 111

4.23 User Interface Halaman Output Detail Tiket 113 4.24 User Interface Halaman Output Detail Kapal 114

4.25 User Interface Halaman Output Tempat 116

4.26 User Interface Halaman Output Data Pemesan 117 4.25 User Interface Proses Mengubah Data Barang 112

5.1 User Interface Data Jumlah Stok Tiket Awal Pengujian Aplikasi Tanpa Penggunaan Teknologi Manajemen Transaksi

120 5.2 User Interface Simulasi Tak Ada Manajemen Transaksi 1 121 5.3 User Interface Simulasi Tak Ada Manajemen Transaksi 2 123 5.4 User Interace Data Tiket Akhir Pengujian aplikasi tanpa

penggunaan manajemen transaksi

124 5.5 User Interface Data Jumlah Stok Tiket Awal Pengujian

Terhadap Masalah Hilangnya Data Yang Diubah (The Lost Update Problem) Dengan Menggunakan Teknologi

Manajemen Transaksi

126

5.6 User Interface Simulasi Ada Manajemen Transaksi 1 127 5.7 User Interface Simulasi Ada Manajemen Transaksi 2 129 5.8 User Interface Reaksi Yang Terjadi Jika 2 Simulasi Aplikasi

Yang Menggunakan Teknologi Manajemen Transaksi Dengan Level Isolasi Serializable Saling Bertabrakan Pada Pengujian Masalah Hilangnya Data Yang Diubah (The Lost Update Problem)

130

5.9 User Interface Data Jumlah Stok Tiket Yang Dipengaruhi Simulasi Aplikasi Pertama Pada Pengujian Masalah Hilangnya Data Yang Diubah (The Lost Update Problem) Dengan

Menggunakan Teknologi Manajemen Transaksi

131

(21)

Terhadap Masalah Transaksi Yang Belum Dilaksanakan (The Uncommitted Dependency) Dengan Menggunakan Teknologi Manajemen Transaksi

5.11 User Interface Data Jumlah Stok Tiket Awal Pengujian Terhadap Masalah Hilangnya Data Yang Diubah (The Lost Update Problem) Pada Proses Pembatalan Dengan

Menggunakan Teknologi Manajemen Transaksi

135

5.12 User Interface Simulasi Ada Manajemen Transaksi 1 untuk Proses Pembatalan

135 5.13 User Interface Simulasi Ada Manajemen Transaksi 2 yntuk

Proses Pembatalan

137 5.14 User Interface Reaksi Yang Terjadi Jika 2 Simulasi Aplikasi

Yang Menggunakan Teknologi Manajemen Transaksi Dengan Level Isolasi Serializable Saling Bertabrakan Pada Pengujian Masalah Hilangnya Data Yang Diubah (The Lost Update Problem) pada Proses Pembatalan

138

5.15 User Interface Data Jumlah Stok Tiket Yang Dipengaruhi Simulasi Aplikasi Pertama Pada Pengujian Masalah Hilangnya Data Yang Diubah (The Lost Update Problem) Dengan

Menggunakan Teknologi Manajemen Transaksi pada Proses Pembatalan

138

5.16 User Interface Data Jumlah Stok Tiket akhir pada pengujian Pembatalan Tiket Dengan Menggunakan Teknologi

Manajemen Transaksi

(22)

DAFTAR TABEL

Tabel Keterangan Halaman

2.1 Contoh Masalah Hilangnya Data Yang Diubah 10

2.2 Jenis-Jenis Web Server 25

2.3 Tipe Data SQL Dalam Oracle 35

2.4 Fungsi-Fungsi PHP untuk Mengkases Database Oracle 38 3.1 Spesifikasi Kelas dan Kapasitas kapal. 41

3.2 Input Output Proses Modeling 46

3.3 Tabel Pemesan 68

3.4 Tabel Kapal 68

3.5 Tabel Kelas 68

3.6 Tabel Dermaga 68

3.7 Tabel Det_Kapal 69

3.8 Tabel Tiket 69

3.9 Tabel Det_Tiket 69

3.10 Tabel Pemesanan 69

3.11 Tabel Pembelian 70

3.12 Tabel Tempat 70

3.13 Tabel Fasilitas 70

3.14 Tabel Berita 70

3.15 Tabel Propinsi 70

3.16 Tabel Buku Tamu 71

3.17 Tabel Admin 71

3.18 Contoh Ilustrasi Masalah Hilangnya Data Yang Diubah 73 5.1 Proses Yang Terjadi Pada Pengujian Aplikasi Tanpa

Menggunakan Teknologi Manajemen Transaksi

(23)

BAB I

PENDAHULUAN

1.1 LATAR BELAKANG MASALAH

Informasi saat ini sudah menjadi sebuah komoditi yang penting sehingga menuntut sumber daya manusia yang lebih terampil dan berkompeten. Kemampuan untuk mengakses dan menyediakan informasi secara cepat dan akurat menjadi sangat esensial bagi sebuah organisasi atau perusahaan. Teknologi internet memungkinkan untuk menyediakan informasi secara cepat.

(24)

pemesanan dan pembatalan tiket. Sistem yang dibuat ini menggunakan PHP dan oracle10g dengan menerapkan manajemen transaksi untuk menangani pemesanan yang dilakukan multiuser / banyak pemakai dalam waktu yang bersamaan. Jika setiap pemakai hanya membaca data maka tidak akan timbul masalah namun jika salah satu dari pemakai tersebut malakukan update maka akan timbul masalah dalam database. Untuk menangani masalah tersebut maka diterapkan manajemen transaksi.

1.2 RUMUSAN MASALAH

Berdasarkan latar belakang masalah diatas maka dirumuskan menjadi beberapa masalah sebagai berikut :

1. Bagaimana membuat sebuah sistem informasi berbasis web yang menyediakan informasi tentang reservasi tiket kapal laut yakni informasi jadwal keberangkatan, pemesanan dan pembatalan tiket ?

2. Bagaimana menangani reservasi tiket yang dilakukan oleh banyak user dengan menerapkan manajemen transaksi?

1.3 BATASAN MASALAH

Agar perancangan sistem ini dapat dilakukan secara tepat, maka dilakukan pembatasan cakupan sistem antara lain sebagai berikut :

(25)

2. Pemesan harus melakukan registrasi terlebih dahulu sebelum melakukan proses pemesanan maupun pembatalan.

3. Tidak melayani pembayaran tiket online, hanya dapat memesan tiket. Jumlah pesanan tiket dibatasi, paling banyak 5 ( lima ) tiket untuk setiap pemesan.

4. Sistem informasi ini digunakan untuk pemesanan tiket kapal Cirimai dan Tatamailau dengan pelabuhan awal Tanjung Perak Surabaya dan tujuan akhir Tual.

5. Tidak menangani proses pencetakan tiket. 6. Tidak menangani proses diskon.

7. Sistem yang dibuat tidak memperhatikan masalah keamanan jaringan. 8. Level isolasi manajemen transaksi yang digunakan adalah level isolasi

serializable.

9. Bahasa pemrograman yang digunakan adalah PHP dan didukung oleh DBMS Oracle 10g.

1.4 TUJUAN PENELITIAN

(26)

1.5 METODOLOGI PENELITIAN

Metodologi Penelitian yang digunakan untuk membuat aplikasi sistem informasi reservasi tiket kapal laut berbasis web antara lain adalah :

1.5.1 Studi pustaka

Dengan mengumpulkan data atau informasi dari berbagai literature yang sesuai dengan sistem yang akan dibuat. Metode ini juga meliputi dicumenter. Metode documenter adalah suatu cara pengambilan data dengan memahami data yang berasal atau bersumber dari dokumen-dokumen tertulis, arsip-arsip, buku-buku pedoman, peraturan-peraturan yang berhubungan dengan objek pembahasan.

1.5.2 Tahap-tahap Rekayasa perangkat Lunak secara terstuktur ( Jogiyanto, 2003)

1. Analisa

Identifikasi masalah dengan menggunakan teknik antara lain :

a) Pengamatan ( observasi ) : pengamatan langsung dan pengambilan sample data di PT. Bangun Jasa Terpadu

b) Wawancara ( interview ) : melakukan tanya jawab antara penulis dengan pihak PT. Bangun Jasa Terpadu maupun calon penumpang c) Membuat use case diagram ( Whitten, 2004 ).

2. Perancangan

(27)

3. Implementasi

Setelah melakukan rancangan sistem yang diinginkan, maka hasil rancangan tersebut diimplementasikan, yang mana rancangan tersebut diterjemahkan kedalam bahasa yang dapat dimengerti mesin.

4. Testing

Pengujian ini dimaksudkan untuk menguji konsistensi data yang ada dengan menerapkan manajemen transaksi. Pengujian telah dilakukan di lab komputer USD.

1.6 SISTEMATIKA PENULISAN

Sistimatika yang digunakan dalam penulisan tugas akhir ini adalah sebagai berikut :

BAB I. PENDAHULUAN

Bab ini berisi tentang latar belakang masalah, rumusan masalah, batasan masalah, tujuan penelitian, metodologi penelitian yang digunakan serta sistimatika isi penulisan laporan.

BAB II. LANDASAN TEORI

Bab ini berisi tentang landasan teori yang digunakan oleh penulis dalam menyelesaikan tugas akhir ini.

BAB III. ANALISA DAN PERANCANGAN SISTEM

(28)

BAB IV. IMPLEMENTASI SISTEM

Bab ini berisi tentang implemetasi dari desain sistem yang dibuat dan telah dikembangkan kedalam sebuah aplikasi.

BAB V. ANALISA HASIL

Bab ini berisi tentang analisa hasil yang dilakukan terhadap proses implementasi yang telah dibuat.

BAB VI PENUTUP

(29)

BAB II

LANDASAN TEORI

2.1 MANAJEMEN TRANSAKSI ( Transaction Management)

Transaksi adalah sebuah tindakan atau serangkaian tindakan yang dilakukan oleh single user atau program aplikasi yang membaca atau mengubah isi dari database. Sebuah traksaksi dapat mempunyai salah satu hasil yakni jika sukses seluruhnya transakasi dikatakan telah committed ( dilakukan ) dan database mencapai suatu keadaan konsisten yang baru. Sebaliknya jika gagal, transaksi dibatalkan. Jika transaksi dibatalkan maka database harus dikembalikan ke keadaan konsisten ( consistent state ) seperti sebelum transaksi dimulai (Connolly, T., Begg, C., 2002). Transaksi tersebut disebut rolled back atau undone ( tidak dilakukan ).

Ada 4 hal dasar yang harus dimiliki semua transaksi, disebut ACID yaitu : 1. Atomicity

Sebuah transaksi adalah sebuah unit yang tidak dapat dibagi lagi sehingga dapat melakukan seluruhnya atau tidak melakukan apapun. Ini merupakan tangung jawab dari subsystem recovery dari DBMS untuk memastikan ke ‘atom’annya.

2. Consistency

(30)

3. Isolation

Transaksi secara bebas mengeksekusi yang lainnya. Dengan kata lain, sebagian transaksi yang tidak lengkap akan mengakibatkan transaksi yang lain menjadi tidak visible. Ini merupakan tanggung jawab dari subsystem concurrency control untuk memastikan isolasi.

4. Durability

Setelah DBMS memberitahu pengguna bahwa transaksi telah selesai dengan sukses, maka efeknya tetap bertahan bahkan jika sistem mengalami crash sebelum semua perubahannya direfleksikan pada disk. Ini merupakan tanggung jawab dari recovery subsystem untuk memastikan durability. Gambar 2.1 merupakan diagram transisi sebuah transaksi.

Diagram transisi sebuah transaksi :

Gambar 2.1 Diagram Transisi Transaksi

Dari diagram tersebut terdapat 5 keadaan ( state ) yaitu : 1. ACTIVE ( aktif )

(31)

ƒ Jika ditemukan bahwa transaksi melanggar serializability atau melanggar integrity constraint maka transaksi harus dibatalkan. Transaksi demikian akan menuju FAILED ( keadaan gagal ) dan harus dibatalkan.

ƒ Jika transaksi sukses, beberapa update dapat disimpan secara aman dan transaksi menuju ke keadan COMMITED.

3. COMMITED ( dilaksanakan ) 4. FAILED ( gagal )

ƒ Terjadi jika transaksi tidak dapat dilaksanakan atau transaksi dibatalkan pada saat aktif ( keadaan aktif ).

ƒ Kondisi ini terjadi jika user membatalkan transaksi atau protocol concurrency control membatalkan transaksi untuk memastikan serializability.

5. ABORTED ( dibatalkan )

2.2 KEBUTUHAN CONCURRENCY CONTROL DAN LEVEL ISOLASI

DALAM ORACLE

(32)

data, maka ada kemungkinan terjadi benturan. Concurrency control diperlukan untuk menjamin bahwa transaksi-transaksi yang dilakukan oleh multiuser secara konkuren tidak saling mengganggu operasinya masing-masing.

Ada 3 masalah yang disebabkan oleh concurrency control ( akses bersama ) yaitu :

1. Hilangnya data yang diubah (Lost Update Problem )

Sebuah transaksi yang melakukan update,namun pada waktu interfal yang bersamaan proses update tersebut ditimpa oleh transaksi lain. Tabel 2.1 merupakan contoh dari masalah hilangnya data yang diubah.

Waktu T1 T2 balx

t1 Begin_transaction 100

t2 Begin_transaction Read(balx) 100 t3 Read(balx) balx=balx+100 100 t4 balx=balx-10 Write(balx) 200

t5 Write(balx) Commit 90

t6 Commit 90

Tabel 2.1 Contah Masalah Hilangnya data yang diubah

(33)

dengan melarang T1 membaca nilai balx sampai transaksi T2 selesai melakukan perubahan data.

2. Pembacaan yang salah ( Dirty Read Problem )

Masalah ini terjadi saat suatu transaksi diijinkan membaca hasil suatu transaksi lain sebelum transaksi lain tersebut selesai dilakukan.

3. Inconsistent Analysis Problem ( Analisa yang salah )

Masalah ini terjadi ketika transaksi pertama membaca beberapa nilai dari database tetapi transaksi kedua mengubah nilai-nilai tersebut selama proses/eksekusi pertama belum selesai.

Masalah-masalah tersebut dapat diatasi jika ada kontrol yang baik dalam database. Artinya bahwa hasil dari transaksi yang dieksekusi secara serial ( transaksi dijalankan sendiri-sendiri, tanpa ada sela, menjamin konsistensi data) sama dengan transaksi yang dieksekusi secara bersama. Hal ini disebut serialzability. Serializability merupakan parameter keberhasilan dalam concurrency control dan dicapai dengan menggunakan macam-macam level isolasi pada transaksi ( transaction isolation levels ). Level isolasi digunakan mengontrol tingkat dimana transaksi tertentu terbuka terhadap tindakan transaksi lain yang melakukan eksekusi secara konkuren. Oracle menyediakan 3 level isolasi yaitu Read Committed, Serializable dan Read Only.( Connolly, T., Begg, C., 2002)

a. READ COMMITTED.

(34)

bukan transaksi dimulai ). Ini berarti bahwa data mungkin diubah oleh transaksi lain selama eksekusi dari statement yang sama didalam transaksi yang sama. Transaksi jenis ini merupakan default dari tipe transaksi pada oracle.

b. SERIALIZABLE.

Level isolasi ini menjamin bahwa sebuah transaksi T hanya membaca data yang telah di-commited dan tidak ada nilai yang dibaca atau ditulis oleh transaksi T yang diubah oleh transaksi lain sampai transaksi tersebut selesai. Dalam konteks implementasi lock-based, transaksi SERIALIZABLE memperoleh lock sebelum membaca atau menulis data, menyertakan lock pada sekumpulan data yang tidak boleh berubah dan menyimpannya sampai akhir transaksi.

c. READ ONLY

Transaksi READ ONLY hanya melihat data yang commited sebelum transaksi dimulai.

Level isolasi dapat diset dioracle dengan memilih salah satu dari level isolasi yang akan dipakai pada awal transaksi dimulai. Seperti :

SET TRANSACTION ISOLATION LEVEL READ COMMITED;

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;

(35)

2.3 SISTEM

2.3.1 Konsep Dasar Sistem

Sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk mencapai suatu tujuan tertentu (Jogiyanto, 2005). Sebuah perusahaan juga merupakan suatu sistem. Komponen atau unsur-unsur di dalamnya seperti pemasaran,penjualan, penelitian, pembukuan, dan personalia yang mana semuanya bekerja sama untuk mencapai keuntungan baik bagi para pekerjanya maupun bagi pemilik perusahaan.

2.3.2 Karakteristik Sistem

Suatu sistem mempunyai karakteristik atau sifat-sifat tertentu, yaitu mempunyai komponen-komponen (components), batas sistem (boundary), lingkungan luar sistem (environment), penghubung (interface), masukkan (input), keluaran (output), pengolah (process) dan sasaran (objectives) atau tujuan (goal).

1) Komponen Sistem

Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, yang artinya saling bekerja sama membentuk satu kesatuan. Komponen-komponen sistem atau elemen-elemen sistem dapat berupa suatu subsistem atau bagian-bagian dari sistem.

2) Batas sistem

(36)

sebagai satu kesatuan. Batas suatu sistem menunjukkan ruang lingkup (scope) dari sistem tersebut.

3) Lingkungan Luar Sistem

Lingkungan luar (environment) dari suatu sistem adalah apapun diluar batas dari sistem yang mempengaruhi operasi sistem.

4) Penghubung Sistem.

Penghubung (interface) merupakan media penghubung antara satu subsistem dengan subsistem lainnya. Melalui penghubung ini memungkinkan sumber-sumber daya mengalir dari satu subsistem ke subsistem lainnya.

5) Masukkan Sistem

Masukan (input) adalah energi yang dimasukkan ke dalam sistem. Masukan dapat berupa masukan perawatan (maintenance input) dan masukan sinyal (signal input) agar sistem tersebut dapat beroperasi. 6) Keluaran Sistem

Keluaran (output) adalah hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna. Keluaran dapat merupakan masukan untuk subsistem yang lain.

7) Pengolah Sistem

Bagian pengolah sistem ini merupakan bagian yang akan merubah masukkan menjadi keluaran.

(37)

Suatu sistem pasti mempunyai tujuan (goal) atau sasaran (objective). Jika suatu sistem tidak mempunyai sasaran, maka operasi sistem tidak akan ada gunanya. Sasaran dari sistem sangat menentukan sekali masukan yang dibutuhkan sistem dan keluaran yang akan dihasilkan sistem. Sistem dikatakan berhasil bila mengenai sasaran atau tujuannya.

2.4 INFORMASI

2.4.1 Konsep Dasar Informasi

Sistem informasi dapat didefinisikan sebagai kumpulan elemen yang saling berhubungan satu sama lain yang membentuk satu kesatuan untuk mengintegrasikan data, memproses dan menyimpan serta mendistribusikan informasi ( Sutedjo, 2002 ).

Sedangkan Informasi dapat diartikan sebagai :

Data yang diolah menjadi bentuk yang lebih berguna bagi usernya” ( Jogiyanto, 2005).

2.4.2 Siklus Informasi

(38)

disebut dengan siklus informasi (information cycle). Siklus ini juga disebut dengan siklus pengolahan data (data processing cycles).

2.4.3 Kualitas Informasi

Kualitas dari suatu informasi (quality of information) tergantung dari tiga hal antara lain :

1. Akurat yang berarti informasi harus bebas dari kesalahan-kesalahan dan tidak menyesatkan dan juga harus jelas mencerminkan maksudnya.

2. Tepat pada waktunya, berarti informasi yang datang pada penerima tidak boleh terlambat. Karena informasi merupakan landasan di dalam pengambilan keputusan.

3. Relevan, berarti informasi tersebut mempunyai manfaat untuk pemakainya.

2.4.4. Nilai Informasi

Informasi dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya mendapatkannya.

Data yang diolah menjadi bentuk yang lebih berguna bagi usernya” ( Jogiyanto, 2003).

2.5 METODOLOGI PENGEMBANGAN SISTEM

2.5.1 Use Case Diagram

(39)

Use-case merupakan urutan langkah-langkah yang secara tindakan saling terkait (scenario ), baik terotomatisasi maupun secara manual, untuk tujuan melengkapi satu tugas bisnis tunggal. Use-case disajikan secara grafis dengan elips horizontal dengan nama use-case muncul di atas, bawah, atau di dalam elips tersebut. Gambar 2.2 merupakan simbol dari Use Case.

Gambar 2.2 Simbol Use Case

Use-case diawali atau dipicu oleh pengguna eksternal yang dinamakan pelaku ( actor ). Actor adalah segala sesuatu yang perlu berinteraksi dengan sistem untuk pertukaran informasi. Actor menginisiasi kegiatan sistem yakni use-case dengan maksud melengkapi beberapa tugas yang menghasilkan sesuatu yang dapat diukur. Seorang actor ditampilkan secara grafis sebagai gambar tongkat berlabel dengan nama peran yang dimainkan oleh actor itu. Gambar 2.3 merupakan simbol dari actor.

Sim bol Actor

(40)

Use case depends on relationship merupakan sebuah relasi use case yang menentukan bahwa use case yang lain harus dibuat sebelum use case yang sekarang. Digambarkan sebagai anak panah yang dimulai dari satu use case dan menunjuk ke use case yang depend on kepadanya. Setiap relasi depend on diberi label “<<depend on>>” .

2.6 ERD ( Entity Relationship Diagram )

ERD merupakan sebuah data model yang memanfaatkan beberapa notasi untuk menggambarkan data dalam entity dan relasi yang dijelaskan oleh data ( Whitten, J.L, 2004 ). Data model adalah sebuah teknik untuk mengorganisasikan dan mendokumentasikan data dari sistem. Juga disebut dengan database modeling. Gambar 2.4 merupakan contoh dari E-R Diagram.

Gambar 2.4 Contoh E-R Diagram

(41)

Gambar 2.5 Contoh entity

Atribut merupakan sebutan untuk mewakili suatu entity. Sebuah atribut juga merupakan sifat-sifat dari sebuah entity. Sinonimnya adalah element, property, dan field. Gambar 2.6 merupakan contoh dari atribut student.

Gambar 2.6 Contoh Atribut

Key merupakan sebuah atribut atau kelompok atribut yang diasumsikan memiliki nilai yang unik untuk setiap instance ( Whitten, J.L, 2004 ). Sering juga disebut dengan identifier.

(42)

2. Candidate key merupakan satu dari nilai key yang akan berfungsi sebagai primary key dari sebuah entity. Sinonimnya adalah candidate identifier

3. Primary key merupakan sebuah candidate key yang paling umum digunakan untuk mengidentifikasikan secara unik instance dari entity yang tunggal.

4. Alternate key merupakan sebuah candidate key yang tidak dapat dipilih untuk menjadi primary key. Sinonimnya adalah secondary key.

Gambar 2.7 merupakan contoh dari identifier atau key

Gambar 2.7. Contoh dari identifier atau key

(43)

Gambar 2.8. Contoh Relasi

Cardinality merupakan minimum dan maksimum kejadian dari sebuah entity yang dihubungkan dengan kejadian tunggal dari entity yang lain ( Whitten, J.L, 2004 ). Karena seluruh relasi adalah bidirectional maka cardinality harus didefinisikan pada kedua direction untuk setiap relasi. Gambar 2.9 merupakan notasi dari cardinality.

Gambar 2.9. Notasi dari Cardinality

(44)

Foreign key adalah sebuah primary key dari sebuah entity yang digunakan oleh entity yang lain untuk mengidentifikasikan instance dari sebuah relasi ( Whitten, J.L, 2004 ).

Nonspecific relationship merupakan relasi dimana banyak instance dari sebuah entity berasosiasi dengan banyak instance dari entity yang lainnya ( Whitten, J.L, 2004 ). Disebut juga dengan relasi many-to-many relationship. Nonspecific relationship harus diselesaikan. Kebanyakan dari nonspecific relationship diselesaikan dengan sebuah associative entity.

Key-base data model bertujuan untuk mengeliminasikan nonspecific relationship jika ada, menambah asosiatif entity termasuk primary dan alternate key, dan kardinalitas yang tepat.

Fully attributed data model bertujuan untuk memasukkan seluruh atribut.

2.7 DFD ( Data Flow Diagram )

Data Flow Diagram merupakan sebuah model proses yang digunakan untuk mengambarkan aliran dari data yang melalui sebuah sistem dan proses yang dibentuk oleh sistem ( Whitten, J.L, 2004 ).

Simbol –simbol umum yang dipakai dalam DFD adalah : 1. Proses ( Process )

(45)

Gambar 2.10 Simbol Proses menurut Gane dan Sarson

2. Arus Data ( Data Flow )

Menunjukan input data ke prosea atau output data ( atau informasi ) dari proses. Arus data digunakan untuk menunjukan pembuatan, pembacaan, penghapusan atau pembaruan data dalam file atau database. Gambar 2.11 menunjukan simbol dari arus data.

Gambar 2.11 Simbol arus data

3. Kesatuan Luar ( External Agent ).

Agen eksternal mendefinisikan orang, unit organisasi, sistem atau organisasi luar yang berinteraksi dengan sistem. Disebut juga entitas eksternal. Gambar 2.12 merupakan simbol Kesatuan Luar menurut Gane dan Sarson.

Gambar 2.12. Simbol Kesatuan Luar . Process Name

Nama Kesatuan Luar

(46)

4. Penyimpanan Data ( Data Store )

Data Store adalah penyimpanan data yang ditunjukan untuk penggunaan selanjutnya. Sinonimnya adalah file dan database. Gambar 2.13 merupakan simbol dari penyimpanan data menurut Gane dan Sarson.

Gambar 2.13 .Simbol Penyimpanan Data

2.8 Word Wide Web

Word Wide Web ( WWW ) atau lebih dikenal dengan web adalah sistem komunikasi hypertext yang popular digunakan pada jaringan komputer internet, dengan komunikasi data menggunakan model client / server ( Kadir, 2003). Dengan menggunakan teknologi hypertext, user dituntut untuk menemukan informasi dengan mengikuti link yang disediakan dalam dokumen web yang ditampilkan dalam browser web.

1. Web Server

Web Server adalah komputer yang digunakan untuk menyimpan dokumen-dokumen web dan melayani permintaan dari client. Browser Web seperti Explorer atau Navigator berkomunikasi melalui jaringan dengan web server dan menggunakan HTTP ( Hypertext Transfer Protokol ). Browser akan mengirimakan request

(47)

kepada server untuk meminta dokumen tertentu atau layanan lain yang disediakan oleh server. Server memberikan dokumen atau layanannya jika tersedia juga dengan menggunakan protokol HTTP.

Dibawah ini adalah jenis-jenis web server yang ada beserta sistem operasi yang digunakan. Tabel 2.2 merupakan Jenis-jenis web server.

Tabel 2.2 Jenis-jenis web Server.

2. Web Client

Web client mamanfaatkan HTTP ( hypertext Transfer Protokol ) untuk berkomunikasi dengan web server. Web client berfungsi untuk menampilkan data yang diminta oleh user dari web server melalui web client.

2.9 HTML ( Hypertext Markup Language )

HTML merupakan standar bahasa yang digunakan untuk menampilkan dokumen web. Dokumen HTML disusun oleh elemen-elemen. Elemen merupakan istilah bagi komponen-kmponen dasar pembentuk dokumen HTML seperti head, body, table, paragraph dan list.

WEBSERVER Pengembang Sistem Operasi

NCSA httpd NCSA Unix

IIS Microsoft Windows NT

PWS Microsoft Windows 9x/2000/NT

(48)

Penulisan HTML dapat dilakukan dengan melalui editor text seperti notepad yang dimiliki oleh sistem operasi Windows ataupun editor lain seperti wordpad, Microsoft Word dan lain-lain. Dengan berkembangnya software, saat ini web editor HTML dapat memudahkan pemakai dalam menulis halaman web, contohnya : Microsoft FrontPage, Macromedia Dreamweaver, dan sebagainya.

Untuk menandai berbagai elemen dalam dokumen HTML digunakan tag. Adapun petunjuk penggunaan tag HTML aadalah sebagai berikut :

1. Tag HTML diapit dengan dua karakter kurung bersudut seperti < head> 2. Tag HTML selalu berpasangan seperti <a>...</a>

3. Tag pertama dalam suatu pasangan adalah tag awal dan tag kedua merupakan tag akhir.

4. Tag HTML tidak case sensitive ( tidak dibedakan antara huruf besar dan huruf kecil )

5. Jika dalam tag ada tag lagi maka penulisan tag akhir tidak boleh bersilang ( harus berurutan ). Misalnya <a>……..<b> dan tag akhir </b>…….</a>.

2.10 PHP ( Personal Home Page )

(49)

Ada beberapa cara untuk menuliskan script PHP : 1. <? Script PHP ada disini ?> atau

2. <?php script php ada disini ?> atau 3. <% script PHP ada sini ?> atau

4. <SCRIPT language=”php”> script PHP ada disini </SCRIPT>

Ada beberapa kriteria yang harus diperhatikan dalam penulisan script PHP yaitu : 1. Setiap halaman yang mengandung script PHP harus disimpan dengan

EXTENSI PHP sesuai dengan program PHP yang mendukung.

2. Setiap script php harus dimulai dengan tag <? Dan diakhiri dengan tag ?> 3. Setiap akhir baris perintah harus diakhiri dengan titik koma ( ; ).

4. Setiap bentuk variabel harus diberi tanda string dolar ( $ ) pada penulisan awalnya.

5. Penulisan komentar didahului dengan pembuka /* dan diakhiri dengan */.

2.10.1 Hubungan PHP dan HTML

(50)

ditambahkan dengan mengapit program tersebut di antara tanda <? dan ?>. Tanda-tanda tersebut biasanya disebut Tanda-tanda untuk escaping( kabur ) dari kode html. File html yang telah dibubuhi program php harus diganti ekstensi-nya menjadi .php atau .php3.

PHP merupakan bahasa pemograman web yang bersifat server-side HTML=embedded scripting, di mana script-nya menyatu dengan HTML dan berada si server. Artinya adalah sintaks dan perintah-perintah yang kita berikan akan sepenuhnya dijalankan di server tetapi disertakan HTML biasa. PHP dikenal sebgai bahasa scripting yang menyatu dengan tag HTML, dieksekusi di server dan digunakan untuk membuat halaman web yang dinamis seperti ASP (Active Server Pages) dan JSP (Java Server Pages).

PHP pertama kali dibuat oleh Rasmus Lerdroft, seorang programmer C. Semula PHP digunakannya untuk menghitung jumlah pengunjung di dalam webnya. Kemudian ia mengeluarkan Personal Home Page Tools versi 1.0 secara gratis. Versi ini pertama kali keluar pada tahun 1995. Isinya adalah sekumpulan script PERL yang dibuatnya untuk membuat halaman webnya menjadi dinamis. Kemudian pada tahun1996 ia mengeluarkan PHP versi 2.0 yang kemampuannya telah mampu mengakses database dan dapat terintegrasi dengan HTML.

(51)

Engine yang dibuat oleh Zend Suraski dan Andi Gutmans yang merupakan penyempurnaan dari PHP3 scripting engine. Yang lainnya adalah build in HTTP session, tidak lagi menggunakan library tambahan seperti pada PHP3. Tujuan dari bahasa scripting ini adalah untuk membuat aplikasi- aplikasi yang dijalankan di atas teknologi web. Dalam hal ini, aplikasi pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan web server.

2.10.2 Kelebihan PHP

Ketika e-commerce semakin berkembang, situs-situs yang statispun semakin ditinggalkan Karena dianggap sudah tidak memenuhi keinginan pasar karena situs tersebut harus tetap dinamis selama setiap hari. Pada saat ini bahasa PERL dan CGI sudah jauh ketinggalan jaman sehingga sebagian besar designer web banyak beralih ke bahasa server-side scripting yang lebih dinamis seperti PHP. Seluruh aplikasi berbasis web dapat dibuat dengan PHP. Namun kekuatan yang paling utama PHP adalah pada konektivitasnya dengan system database di dalam web. Sistem database yang dapat didukung oleh PHP adalah :

1. Oracle 2. MySQL

3. MS SQL Server 4. PostgreSQL 5. dan lainnya

(52)

http://www.php.net, ataupun dari situs - situs yang menyediakan software. Software ini juga dapat berjalan pada web server seperti PWS (Personal Web Server), Apache, IIS, AOLServer, fhttpd, phttpd dan sebagainya. PHP juga merupakan bahasa pemograman yang dapat kita kembangkan sendiri seperti menambah fungsi-fungsi baru. Keunggulan lainnya dari PHP adalah PHP juga mendukung komunikasi dengan layanan seperti protocol IMAP, SNMP, NNTP, POP3 bahkan HTTP. PHP dapat diinstal sebagai bagian atau modul dari apache web server atau sebagai CGIscript yang mandiri. Banyak keuntungan yang dapat diperoleh jika menggunakan PHP sebagai modul dari apache di antaranya adalah

1. Tingkat keamanan yang cukup tinggi.

2. waktu eksekusi yang lebih cepat dibandingkan dengan bahasa pemograman web lainnya yang berorientasi pada server-side scripting. Akses ke sistem database yang lebih fleksibel

2.11 Pemrograman SQL Di Oracle

SQL ( Structured Query Language ) adalah bahasa pemrograman yang digunakan untuk akses ke oracle database. SQL diciptakan oleh perusahaan IBM sekitar tahun 1970, pada waktu yang bersamaan dengan diperkenalkan konsep Relational Database. Bahasa SQL dapat digolongkan bahasa generasi ke-4 yang tidak berupa bahasa yang berstruktur dan beraturan sehingga SQL mudah dipelajari ( Wijaya, 2003).

(53)

1. Data Definition Language ( DDL ) yang mendifinisikan struktur suatu data. a. Perintah CREATE

Digunakan untuk membuat tabel. Sintaks yang digunakan adalah : CREATE TABLE[Pemakai.] Nama Tabel

( {nama kolom pertama Tipedata [default] [constraint kolom] constraint tabel ) [, (

nama kolom kedua Tipe data [default] [constraint kolom] constraint tabel } ]…) [

AS QUERY].

b. Perintah ALTER

Digunakan untuk mengubah ( modify ) tabel yang telah dibuat seperti menambah kolom baru, mengubah ukuran kolom, mengubah aturan-aturan yang berlaku untuk suatu kolom. Sintaks yang digunakan adalah :

ALTER TABLE [Pemakai. ] Nama Tabel

{ [ADD { Nama Kolom | [CONSTRAINT Nama Constraint] Constraint Tabel }

[, Nama Kolom | [CONSTRAINT Nama Constraint] Constraint Tabel } ]…) ]

[ MODIFY (Nama Kolom [, Nama Kolom]..)]

[ Drop Nama Constraint] }

[ ENABLE Nama Constraint | DISABLE Nama Constraint].

c. Perintah DROP

Digunakan untuk menghapus suatu tabel. Sintaks yang digunakan DROP TABLE [Pemakai. ] Nama tabel

[CASCADE CONSTRAINTS].

(54)

Sering dipakai karena kegunaannya untuk membaca ( query ) isi tabel. Sintaks yang digunakan :

SELECT [ALL | DISTINCT

{ * | [Pemakai. ] Nama Table.* |

Ekspresi [Alias[, Ekspresi [Alias]..}

FROM [Pemakai.]Nama Table [@Nama Database] [Alias]

[, [Pemakai. ]Nama Table [@Nama Database] [Alias]..

[Where Kondisi]

[ CONNECT BY Kondisi [START WITH Kondisi] ]

[GROUP BY Ekspresi [,Ekspresi]..]

[HAVING Kondisi]

[ (UNION [ALL] | INTERSECT | MINUS} SELECT ..]

[ ORDER BY {Ekspresi | Posisi } [ASC | DESC]..

[, {Expresi | Posisi} [ASC | DESC] ] ] ..

[ FOR UPDATE [ OF [ [ Pemakai.] { Nama Tabel | Nama View}. ] Nama Kolom [ ,

[[Pemakai.] { Nama Tabel | Nama View}. ]]..]

[NOWAIT]

b. Perintah INSERT

Digunakan untuk memasukan data ke tabel. Sintaks yang digunakan:

INSERT INTO [Pemakai.]Nama Tabel [@Nama Database]

[ ( Nama Kolom [, Nama Kolom]..) ]

VALUE ( Ekspresi [. Ekspresi] .. ) | Query..);

c. Perintah UPDATE

(55)

UPDATE [Pemakai.] Nama Tabel

SET { Nama Kolom = Ekspresi [, Nama Kolom = Ekspresi] .. |

( Nama Kolom [, Nama Kolom]..) = ( Subquery) | [Where Kondisi].

d. Perintah DELETE

Digunakan untuk menghapus isi tabel. Sintaks yang digunakan :

DELETE FROM [Pemakai . ] Nama Tabel [@Nama Database]

[ where Kondisi]

3. Data Control Language ( DCL )

Data control language digunakan untuk mengatur hak-hak ( Privilage ) untuk seorang user database.

2.12 Pemrograman PL /SQL

PL/SQL ( Procedural Language / Structured Query Language ) adalah suatu blok yang berisi skrip-skrip bahasa procedural.( Wijaya, 2003). Perbedaan SQL dengan PL/SQL ialah PL/SQL bukan unit transaksi. Selain itu fungsi commit, savepoint dan rollback independent terhadap blok, tapi perintah tersebut dapat diaktifkan di dalam blok. PL/SQL tidak mendukung Data Definition Language ( DDL ) dan Data Control Language ( DCL ). Semua program PL/SQL mengikuti struktur pemrograman sebagai berikut :

(56)

b. Bagian ini hanya digunakan jika PL/SQL diberikan nama, misalnya untuk prosedur atau fungsi. Bagian ini berisi nama blok, daftar parameter, dan pengambilan hasil ( return ) jika blok adalah fungsi.

c. Bagian Deklarasi ( Declaration )

Bagian ini untuk membuat deklarasi mengenai semua variabel dan konstanta yang diferensikan dalam pernyataan PL/SQL. Bagian deklarasi ini dimulai dengan perintah DECLARE. Jika tidak ada variabel atau konstanta yang ingin dideklarasikan bagian ini boleh dihilangkan.

d. Bagian Eksekusi ( Execution )

Bagian ini memuat pernyataan –pernyataan PL/SQL yang akan ditulis. Bagian eksekusi ini harus dimulai dengan perintah BEGIN.

e. Bagian Perkecualian ( Exception )

Bagian ini memuat cara menangani kesalahan-kesalahan ( error) pada waktu eksekusi program PL/SQL. Jika program tidak memuat cara menangani kesalahan, bagian ini boleh dihilangkan.

Setiap pernyataan PL/SQL harus diakhiri dengan tanda titik koma ( ; ) dan semua program PL/SQL harus diakhiri dengan perintah END. Sintak umum untuk membuat sebuah blok PL/SQL di Oracle adalah :

DECLARE

Variabel tipe_data; --mendeklarasikan variabel

Konstanta Constant tipe_data := nilai; --Mendeklarasikan konstanta

………

BEGIN

(57)

Statement_2;

…………..

EXCEPTION

WHEN nama_eksepsi THEN

Statemen_untuk_mengatasi_error;

………..

END;

PL/SQL mendukung tipe data SQL. Tipe data SQL dalam Oracle ditunjukan pada tabel 2.3

Nama Tipe Keterangan

Integer Numerik Untuk menyimpan angka bulat

Number Numerik Untuk menyimpan semua jenis angka baik bilangn bulat maupun pecahan.

Decimal Numerik Untuk menyimpan angka pecahan

Float Numerik Untuk menyimpan angka pecahan yang dapat berubah.

Char Karakter Menyimpan karaketr berukuran tetap sampai 255 karakter

Varchar Karakter Menyimpan karakter dengan ukuran berubah-ubah

Varchar2 Karakter Menggantikan tipe data varchar dan dapat menyimpan 2000 karakter

Long Karakter Menympan samapi 2GB karakter

(58)

Selain tipe data dalam tabel diatas, Oracle PL/SQL juga mendukung sejumlah tipe data:

1. BOOLEAN : Dipakai untuk menyatakan data logika yaitu TRUE ( benar ), FALSE ( salah ) dan NULL ( kosong )

2. BINARY_INTEGER : Digunakan untuk mendeklarasikan bilanagn yang tidak mempunyai angka decimal.

3. %tTYPE : Tipe data ini jika dipakai menandakan bahwa variabel yang dideklarasikan sama dengan tipe data dari kolom tabel tertentu. 4. %ROWTYPE : Tipe data ini menandakan bawa sekelompok variabel

adalah sama dengan tipe data dari row suatu tabel tertentu.

2.12.1 STORE PROCEDURE

Sintak untuk membuat suatu store procedure CREATE [OR REPLACE] PROCEDURE nama_prosedur

[ ( parameter [ IN | OUT tipe_data [.parameter [ IN | OUT] tipe_data]..)]

{ IS | AS }

[ deklarasi variabel local ]

BEGIN

Seksi_eksekusi

[ Seksi Perkecualian]

END [ nama_prosedur ]

2.12.2 PACKAGE

(59)

untuk tujuan atau pemakaian tertentu. Suatu Package terdiri dari dua bagian :

1. Package Specification ( Spesifikasi Paket ) 2. Package body ( badan Paket ).

Sintak yang digunakan untuk mendeklarasikan Package adalah : CREATE [OR REPLACE ] PACKAGE nama_package IS

FUNCTION nama_fungsi_tersimpan

[ (parameter [IN ] tipe_data[. Parameter {IN] tipe_data]..)]

RETURN tipe_data

[ FUNCTION berikutnya...]

PROCEDURE nama_procedure_tersimpan

[ ( parameter [ IN | OUT ] tipe_data[. Parameter [ IN | OUT ] tipe_data]..) ]

[ PROCEDURE berikutnya .. ]

END nama_package;

Sintak yang digunakan untuk membuat package body : CREATE [ OR REPLACE ] PACKAGE BODY nama_package IS

FUNCTION nama_fungsi_tersimpan

[ ( parameter [IN] tipe_data [. Parameter [IN] tipe_data]..)]

RETURN tipe_data

{ IS | AS }

[ deklarasi variabel_lokal ]

BEGIN

SEKSI_EKSEKUSI

[ Seksi perkecualian ]

RETURN nilai fungsi

[ FUNCTION berikutnya…]

(60)

[( Parameter [IN | OUT ] tipe_data [.parameter [ IN | OUT] tipe_data ] ..)]

Sintak yang digunakan untuk membuat sequence adalah : Create [OR REPLECE] SEQUENCE [nama.table.] nama_sequence

INCREMENT BY nilai_penambahan

START WITH nilai_mula

2.12.4 Fungsi-fungsi PHP yang umum digunakan untuk mengakses

Database Oracle.

Tabel 2.4 merupakan contoh fungsi-fungsi php yang digunakan untuk mengakses database oracle.

Function Return Description

OCIBindByName ( Statement, ph_name,&variable, length, [, type ])

Integer Binds the specified PHP variable to

the oracle placeholder specified by

ph_name

OCIExecute( Statement, [mode ] )

integer Executes the specified SQL

statement.

OCIFetch( Statement) Integer Fetches the next row from the rusultset.

OCIFetchinto( Statement, results, [mode] )

Integer Retusn the next row from the

(61)

OCIFetchstatement( Statement, results)

Integer Retyrn all rows from the rusultset

into the results array.

OCILogoff Integer Close the specified oracle connection

OCILogon ( username, password, [ database ] )

Integer Opens a connection to an oracle

database and return a connection

identifier.

OCIParse (connection, query )

Integer Validates the specified query.

(62)

BAB III

ANALISA DAN PERANCANGAN SISTEM

3.1 ANALISA SISTEM

3.1.1 Gambaran Umum Sistem yang Lama

PT. Bangun Jasa Terpadu bergerak dalam bidang jasa Transportasi baik darat,laut maupun udara. Sebagai agen resmi PT PELNI, maka PT. Bangun jasa terpadu melayani pembelian maupun pemesanan tiket untuk 3 dermaga terbesar di Indonesia yaitu Jakarta, Surabaya dan Semarang. Saat ini pemesanan tiket masih dilakukan secara manual. Beberapa hal yang harus dilakukan pemesan antara lain :

1. Untuk melakukan pemesanan, pemesan harus datang langsung ke PT Bangun Jasa Terpadu dengan membawa kartu identitas.

2. Pemesan harus mengisi form pemesanan yang disedikan oleh PT. Bangun Jasa Terpadu.

3. Pemesan harus membayar uang muka sebagai tanda bukti pemesaan sebanyak 50% dari total harga tiket yang dipesan.

4. Pemesan akan diberikan kwitansi sebagai bukti pemesanan.

5. Jika Pemesan membatalkan pemesanan maka dikenakan potongan sebesar 10% dari jumlah uang muka dan pembatalan tiket paling lambat 2 hari sebelum tanggal keberangkatan kapal .

(63)

Untuk spesifikasi kapal cirimai dan tatamailau dapat dilihat di table 3.1

Nama Kapal Kelas – Kelas Kapasitas

Kelas I 44 orang

Kelas II 88 orang

Kelas III 288 orang CIREMAI

Kelas Ekonomi 1.554 orang

Kelas I 14

Kelas II 40 TATAMAILAU

Kelas Ekonomi 915

Tabel 3.1 Spesifikasi Kelas dan Kapasitas kapal.

3.1.2 Gambaran Umum Sistem Yang Baru

Sistem informasi reservasi tiket kapal Laut berbasis web yang dibangun, bertujuan untuk memudahkan calon penumpang dalam hal melihat informasi yang berhubungan dengan kapal, pemesanan maupun pembatalan tiket. Salah satu keuntungan yang diperoleh pemesan adalah tidak adanya pembayaran uang muka sebagai jaminan maupun potongan harga jika pemesan membatalkan pesanan tiket.

(64)

masalah ini, maka aplikasi ini akan menggunakan dukungan teknologi manajemen transaksi dengan level isolasi Serializable.

Secara umum ilustrasi pemesanan yang dilakukan oleh pemesanan dalam sistem yang baru adalah sebagai berikut :

1. Calon penumpang melakukan registrasi terlebih dahulu dengan mengisikan data-data seperti user id, password , no ktp,nama, alamat, jenis kelamin, kota, email, dan no_telpon.. Setelah sukses melakukan registrasi, pemakai akan diberikan username dan password yang selanjutnya akan digunakan untuk melakukan proses login Jika login suskes maka pemesan dapat melakukan pemesanan tiket.

2. Informasi yang dapat diperoleh dari sistem ini adalah informasi mengenai kapal laut, jadwal kapal, harga tiket dan pemesan dapat melakukan pemesanan maupun pembatalan tiket.

3. Dari dua jenis kapal yang ada pemesan dapat memilih tujuan, tanggal keberangkatan dan kelas yang diinginkan.

4. Jumlah maksimum tiket yang dapat dipesan adalah sebanyak 5 tiket untuk setiap kelas.

5. Setelah pemesan berhasil melakukan proses pemesanan tiket, pemesan akan memperoleh no pesanan yang digunakan sebagai tanda bukti telah melakukan pemesanan.

(65)

identitas diri ( NO KTP / SIM ) . Jika sesuai maka proses pembelian akan dilakukan.

7. Pengambilan tiket paling lambat 1 hari sebelum tanggal keberangkatan. Jika pemesan belum mengambil pesanan tiket maka data pesanan akan dihapus.

8. Pada proses pembatalan tiket, akan ditampilkan no pesanan dan detail data pesanan Selanjutnya pemesan dapat memilih tiket mana yang dibatalkan.

Sedangkan dari sisi administrator, mengolah dan merekan data dan melakukan manipulasi terhadap data yang terdapat dalam database. Seperti data pemesan, data pemesanan,data kapal,data harga kelas, data jadwal, data dermaga, data kelas, data tempat dan data pembelian.

3.1.2.1 Ruang Lingkup Sistem

Sistem informasi reservasi tiket kapal laut berbasis web terdiri dari 2 buah subsistem yaitu :

1. Subsistem User

(66)

melakukan login, dan melihat account yang dimilikinya sehingga proses update data diri dapat di lakukan. Selain itu sistem ini mampu memberikan informasi tentang jadwal keberangkatan kapal, harga tiket kapal maupun fasilitas-fasilitas yang dimiliki kapal Pelni.

2. Subsistem Admin.

Subsistem ini di khususkan bagi administrator yang diberi hak untuk melakukan proses update terhadap data kapal, data kelas, data dermaga, data tiket yakni jadwal keberangkatan kapal, data harga, data pemesan, data pesanan,data pembelian, data berita, data fasilitas dan data buku tamu.

3.1.3 Requirement Analysis

Tahap requirement analysis meliputi pembuatan use case diagram.

3.1.3.1. Use Case Diagram

(67)

Gambar 3.1 Use Case diagram

3.1.4 Logical Design

Tahap logical design meliputi prosess modeling dan data modeling.

3.1.4.1Proses Modeling

(68)

Tabel 3.2 Input Output Proses Modeling

Entitas Input Output

Pemesan Registrasi pemesan, data transaksi pemesanan, data

(69)

3.1.4.1.1 Context Diagram

Context diagram merepresentasikan elemen sistem sebagai sebuah proses tunggal dengan inputan dan output data yang ditunjukan oleh panah masuk dan keluar. Gambar 3.2 adalah contoh context diagram sistem informasi reservasi tiket kapal laut berbasis web.

(70)
(71)

Overview Diagram OVERVIEW DIAGRAM

(72)

OVERVIEW DIAGRAM LEVEL 1 PROSES REGISTARIS DAN LOGIN

(73)

OVERVIEW DIAGRAM LEVEL 1 PROSES UPDATE DATA KAPAL

(74)

OVERVIEW DIAGRAM LEVEL 1 PROSES UPDATE DATA KELAS

(75)

OVERVIEW DIAGRAM LEVEL 1 PROSES UPDATE DATA DERMAGA

(76)

OVERVIEW DIAGRAM LEVEL 1 PROSES UPDATE DATA DET_KAPAL / TARIF TIKET

(77)

OVERVIEW DIAGRAM LEVEL 1 PROSES UPDATE DATA TIKET

(78)

OVERVIEW DIAGRAM LEVEL 1 PROSES DATA TRANSAKSI PEMESANAN

(79)

OVERVIEW DIAGRAM LEVEL 1 PROSES DATA TRANSAKSI PEMBELIAN

(80)

OVERVIEW DIAGRAM LEVEL 1 PROSES UPDATE DATA TEMPAT

(81)

OVERVIEW DIAGRAM LEVEL 1 PROSES UPDATE DATA DET_TIKET

(82)

OVERVIEW DIAGRAM LEVEL 1 PROSES UPDATE DATA PEMESAN

(83)

OVERVIEW DIAGRAM LEVEL 1 PROSES UPDATE DATA PROPINSI

(84)

OVERVIEW DIAGRAM LEVEL 1 PROSES UPDATE DATA FASILITAS

(85)

OVERVIEW DIAGRAM LEVEL 1 PROSES UPDATE DATA BERITA

(86)

OVERVIEW DIAGRAM LEVEL 1 PROSES UPDATE DATA BUKU TAMU

(87)

OVERVIEW DIAGRAM LEVEL 1 PROSES UBAH PASSWORD

(88)

Ga

m

bar 3.21 overview diagram

level 1 proses Logout

(89)

3.1.4.2 DATA MODELING

Tahap data modeling dapat dimulai dengan pembuatan ER Diagram seperti pada Gambar 3.22.

(90)

3.2 DISAIN SISTEM

3.2.1 Disain Database

Tabel 3.3 Tabel Pemesan

Name Type Size Deskription Key

User_id Varchar2 8 User id pemesan PK

Password Varchar2 12 Password pemesan Nama Varchar2 42 Nama lengkap pemesan

JK Varchar2 1 Jenis kelamin pemesan

No KTP Varchar2 25 No KTP pemesan

Alamat Varchar2 50 Alamat Pemesan No_Tlp Varchar2 12 No telpon pemesan

Email Varchar2 30 Email pemesan

Kota Varchar2 30 Kota pemesan

Tanggal_registrasi date Tanggal registrasi pemesan

Tabel 3.4 Tabel Kapal

Name Type Size Deskription Key

Kd_kpl Varchar2 6 Kode Kapal PK

Nama Varchar2 20 Nama kapal

Route Varchar2 40 Route kapal

Keterangan Varchar2 200 Keterangan kapal Gambar Varchar2 25 Gambar kapal

Tabel 3.5 Tabel Kelas

Name Type Size Deskription Key

Kd_kls Varchar2 5 Kode kelas PK

Nama_kelas Varchar2 20 Nama kelas

Fasilitas Varchar2 100 Fasilitas kelas

Gambar Varchar2 25 Gambar kelas

Tabel 3.6 Tabel Dermaga

Name Type Size Deskription Key

Kd_dermaga Int 5 Kode dermaga PK

Nama_dermaga Varchar2 35 Nama dermaga

(91)

Tabel 3.7 Tabel Det_kapal

Name Type Size Deskription Key

Kd_dkapal Number 11 Kode detail kapal PK

Kapasitas Number 4 Kapasitas det kapal

Tabel 3.8 Tabel Tiket

Name Type Size Deskription Key

Kd_tiket Number 11 Kode jadwal berangkat kapal PK

Kd_kpl Varchar2 6 Kode kapal FK

Tgl_brkt Date Tanggal berangkat

Jam_brkt Varchar2 15 Jam berangkat

Tabel 3.9 Tabel det_tiket

Name Type Size Deskription Key

Kd_tiket Number 11 Kode jadwal berangkat kapal FK

Kd_dkapal Number 11 Kode detail kapal FK

Stok Number 4 Jumlah tiket yang dipesan

Tabel 3.10 Tabel Pemesanan

Name Type Size Deskription Key

No_psn Varchar2 7 No pesanan PK

User_id Varchar2 8 User id pemesan FK

Kd_tiket Int 11 Kode jadwal berangkat kapal FK

Kd_dkapal Int 11 Kode detail kapal FK

Kelas Varchar2 5 Nama kelas

JD Number 1 Jumlah dewasa pemesanan

JA Number 1 Jumlah anak pemesanan

JB Number 1 Jumlah bayi pemesanan

Jumlah Number 1 Jumlah total pemesanan

Total Number 5 Total harga pemesanan

(92)

Tabel 3.11 Tabel Pembelian

Name Type Size Deskription Key

Id_pembelian Int 11 Id pembelian PK

User_id Varchar2 8 User id pemesan FK

No_psn Varchar2 15 No pesanan FK

Tgl Date Tanggal transaksi pembelian

Tabel 3.12 Tabel Tempat

Name Type Size Deskription Key

Id_tmp Number 5 Id no tempat PK

No_tempat Number 5 No tempat

No_psn Varchar2 7 No pesanan FK

Id_pembelian Int 11 Id pembelian FK

Nama_penumpang Varchar2 50 Nama penumpang

Umur Number 3 Umur penumpang

Tabel 3.13 Tabel Fasilitas

Name Type Size Deskription Key

Id_fasilitas Int 5 Id fasilitas kapal PK

Fasilitas Varchar2 25 Fasilitas yang disediakan kapal

Keterangan Varchar2 25 Keterangan fasilitas kapal Foto Varchar2 25 Foto fasilitas kapal

Tabel 3.14 Tabel Berita

Name Type Size Deskription Key

Kd_berita Int 11 Kode berita PK

Judul_berita Varchar2 50 Judul berita Isi_berita Varchar2 1000 Isi berita

Penulis Varchar2 8 Penulis berita

Tabel 3.15 Tabel Propinsi

Name Type Size Deskription Key

Idpropinsi Int 5 Id propinsi PK

(93)

Tabel 3.16 Tabel Buku Tamu

Name Type Size Deskription Key

Bid Int 11 Id buku tamu PK

Nama Varchar2 15 Nama user

Alamat Varchar2 30 Alamat user

Email Varchar2 20 Email user

Komentar Varchar2 100 Komentar user

Tgl Date Tanggal pemasukan buku tamu

Tabel 3.17 Tabel Admin

Name Type Size Deskription Key

username Varchar2 8 Username admin PK

(94)

3.2.2 Relasi Antar Tabel

Relasi antar tabel dari sistem dapat dilihat pada Gambar 3.23

3.3 DISAIN PENANGANAN MASALAH MULTI USER

3.3.1 Kemungkinan Masalah Yang Bisa Terjadi

Dalam Aplikasi ini, terdapat beberapa masalah yang bisa saja terjadi jika terdapat penggunaan akses secara bersama oleh beberapa pemesan terhadap stok tiket yang terdapat dalam tabel det_tiket.

Gambar

Gambar 2.6  Contoh  Atribut
Gambar 2.7 merupakan contoh dari identifier atau key
Gambar 2.8. Contoh Relasi
Gambar 3.1 Use Case diagram
+7

Referensi

Dokumen terkait

Buku kerja siswa produk penelitian pengembangan ini memuat tiga kegiatan belajar, yaitu kegiatan belajar satu membahas tentang segitiga dan sifat sudut pada segitiga, kegiatan

Paper ini mengkaji beberapa parameter yang berpengaruh terhadap rancang bangun kolektor sel surya sebagai teknologi pengering basil panen, diantaranya design

Dengan latar belakang tersebut, maka pada penelitian ini, peneliti ingin mendapatkan kombinasi multimodal analgesia yang memiliki efek yang baik dalam

Telah meneliti dan memeriksa validasi dalam bentuk instrumen soal pada penelitian dengan judul “ Upaya Meningkatkan Minat Belajar Matematika Materi Pengolahan Dan Penyajian

[11] Pranata Anggakara, Sudarno, Irawan Wisnu (2013) “Pengaruh Pengenceran dan Pengadukan Terhadap Produksi Biogas pada Limbah Industri Kecil Pengasapan Ikan dengan

Sejalan dengan pendapat caknur ini, Rumadi berpendapat “keragaman (pluralisme) sebagai realitas sosial merupakan sunnatuloh yang tidak mungkin dapat ditolak oleh siapapun.” 64 Hal

Berdasarkan hasil analis yang penulis dilakukan, dapat diketahui bahwa: (1) Manajemen Kurikulum Pendidikan Agama Islam Dalam Pengembangan Pembelajaran Pendidikan

¾ The basic EPS calculation is made by dividing the profit (or loss) relating to the ordinary shareholders by the weighted average number of ordinary shares outstanding in the