• Tidak ada hasil yang ditemukan

3. DESAIN DAN IMPLEMENTASI SISTEM

N/A
N/A
Protected

Academic year: 2022

Membagikan "3. DESAIN DAN IMPLEMENTASI SISTEM"

Copied!
38
0
0

Teks penuh

(1)

32

Pada tugas akhir ini akan dibuat sebuah sistem administrasi pada bidang akademik secara sederhana. Dalam sistem ini dapat dilakukan proses registrasi mahasiswa maupun dosen baru, pembukaan mata kuliah baru, pendaftaran mata kuliah oleh mahasiswa, dan juga proses penilaian yang dilakukan oleh dosen.

3.1. Desain Sistem

Sebelum melakukan implementasi sistem, terlebih dahulu dilakukan desain sistem yang terdiri dari desain database, desain tabel database, desain aplikasi yang akan dibuat serta desain form-form yang akan digunakan.

3.1.1. Desain Database

Desain database ini meliputi desain Data Flow Diagram (DFD) & Entity Relationship Diagram (ERD).

3.1.1.1. Desain Data Flow Diagram (DFD)

Pada bagian ini akan dijelaskan mengenai desain sistem administrasi akademik dalan bentuk Data Flow Diagram (DFD) yang akan terbagi menjadi beberapa level kedalaman.

Gambar 3.1. Context diagram dari sistem administrasi akademik

data pribadi dosen data pribadi mahasiswa

daftar pilihan ruangan quota kelas daftar pilihan mata kuliah

NRP

data pengambilan mata kuliah data nilai mahasiswa

data mata kuliah

jadwal mengajar

data nilai mata kuliah yang diajar 0

Sistem Administrasi

Akademik + Mahasiswa

Dosen

T U

(2)

Pada gambar 3.1. tampak aliran data pada context diagram yang menjelaskan sistem administrasi akademik secara umum. Pada sistem ini registrasi dosen dan mahasiswa baru dilakukan oleh tata usaha (TU). TU juga melakukan pembukaan mata kuliah baru. Mata kuliah tersebut diajar oleh salah seorang dosen yang bertanggung jawab mengenai penilaian terhadap mata kuliah tersebut. Seorang mahasiswa dapat melakukan pendaftaran mata kuliah dengan memilih mata kuliah yang ingin diambil.

Dari context diagram di atas kemudian dibuat DFD level 1 yang memiliki 5 buah proses, yaitu proses registrasi mahasiswa, registrasi dosen, registrasi mata kuliah yang ditawarkan, pemberian nilai, dan proses pendaftaran mata kuliah. DFD level 1 ini tampak pada gambar 3.2.

Gambar 3.2. DFD level 1 dari sistem administrasi akademik

[data pribadi dosen]

[data pribadi mahasiswa]

record mata kuliah

record transkrip

[data pengambilan mata kuliah]

[data nilai mahasiswa]

[data nilai mata kuliah yang diajar]

[data mata kuliah yang diambil]

[daftar pilihan mata kuliah]

[NRP]

[jadwal mengajar]

[daftar pilihan ruangan]

[quota kelas]

record ambil_matkul record transkrip

record transkrip

record nilai record mata kuliah

record ruangan

[data mata kuliah] record dosen

record mahasiswa

Mahasiswa

Dosen

T U

1 registrasi mahasiswa 1 File Mahasiswa

2 registrasi

dosen

2 File Dosen

3

registrasi mata kuliah baru

+ 3 File Ruang

4 File Matkul

4 pemberian

nilai

5 File Ambil_Matkul 6 File Transkrip

5 pendaftaran

mata kuliah +

(3)

Pada gambar 3.2 proses regisrasi dosen dan mahasiswa baru dilakukan oleh TU dengan memberikan data pribadi dosen maupun mahasiswa ke dalam sistem.

Gambar 3.3. DFD level 2 dari proses registrasi mata kuliah baru

Gambar 3.3 menjelaskan proses yang terjadi pada saat TU akan melakukan registrasi mata kuliah baru (proses 3). TU menentukan ruangan yang akan digunakan berdasar pada quota kelas yang akan dibuka. Setelah itu akan dibuat data mata kuliah yang baru, data tersebut diberikan kepada dosen yang mengajar.

[daftar pilihan ruangan]

[data mata kuliah]

[jadwal mengajar]

[record mata kuliah]

[record ruangan]

[quota kelas]

Dosen 3 File Ruang

4 File Matkul T U

3.1

pengecekan quota ruangan

3.2

pembuatan data mata

kuliah

(4)

Gambar 3.4. DFD level 2 dari proses pendaftaran mata kuliah

Pada gambar 3.4 dijelaskan ketika seorang mahasiswa akan melakukan pendaftaran mata kuliah, maka terlebih dahulu dicari mata kuliah apa saja yang dapat diambil oleh mahasiswa tersebut, misalnya berdasarkan syarat jumlah sks minimum, mata kuliah pendukung yang harus diambil terlebih dahulu. Dari proses pengecekan ini dihasilkan daftar mata kuliah yang dapat dipilih oleh mahasiswa yang bersangkutan. Setelah mahasiswa memilih, maka data pengambilan mata kuliah tersebut akan diberikan ke TU.

3.1.1.2. Desain Entity Relationship Diagram (ERD)

Di dalam desain ERD pada sistem administrasi akademik ini akan dipakai 2 (dua) model dari diagram relasi antar tabel, yaitu:

- conceptual model : model ini menggambarkan keseluruhan struktur logik dari basis data, dan mengandung obyek data yang belum diimplementasikan ke basis data secara fisik, tanpa harus memperhatikan tipe, struktur dari data maupun fasilitas-fasilitas yang diberikan.

[record mata kuliah]

[record transkrip]

[daftar pilihan mata kuliah]

[data mata kuliah yang diambil]

[record ambil_matkul]

[record transkrip]

[data pengambilan mata kuliah]

[NRP]

T U 6 File Transkrip

5 File Ambil_Matkul

Mahasiswa

5.1 pengecekan

mata kuliah yang boleh

diambil

5.2

pemilihan mata kuliah 4 File Matkul

(5)

- physical model : model ini mempresentasikan detail data yang sebenarnya pada saat diimplementasikan pada basis data, meliputi struktur data, tipe data dan fasilitas lainnya.

Sistem basis data untuk aplikasi administrasi akademik dalam tugas akhir ini direncanakan terdiri dari 6 (enam) buah tabel. Hubungan atau relasi dari tabel-tabel tersebut secara conceptual model dapat dilihat pada gambar 3.5.

Gambar 3.5. ERD conceptual model

Sedangkan hubungan atau relasi dari tabel-tabel tersebut secara physical model dapat dilihat pada gambar 3.6, di mana masing-masing tabel ditampilkan secara lengkap dengan field dan tipe data yang digunakan serta relasi antar tabel.

mempunyai mempunyai

menempati mengajar

diambil mengam bil

Ambil_Matkul Tes t1

UTS Tes t2 UAS NA Grade

Dosen NIP Nama Tem pat_lhr Tgl_lhr Alamat Tlp HP

Mahasis wa NRP Nama Tem pat_lhr Tgl_lhr Alamat Tlp HP

Matkul Kode_M atkul Nama SKS Hari Jam

Kode_Jurusan Kode_Syarat Quota

SKS_Minimum Grade_M inim um

Ruang Kode_Ruang Kapasit as Transkrip

Grade

Periode_Lulus

(6)

Gambar 3.6. ERD physical model

3.1.2. Desain Tabel Database

Untuk menyimpan data-data yang ada maka sistem administrasi akademik menggunakan 6 (enam) buah tabel untuk menyimpan data-data tersebut, yaitu :

- tabel mahasiswa : digunakan untuk menyimpan data pribadi mahasiswa.

Kode_M atkul = K ode_Matk ul NRP = NRP

Kode_Ruang = Kode_Ruang NIP = NIP

Kode_Matkul = K ode_Matkul NRP = NRP

Ambil_Matkul NRP char(8) Kode_Matkul char(8) Tes t1 float(53) UTS float(53) Tes t2 float(53) UAS float(53) NA float(53) Grade char(2)

Dosen NIP char(8) Nama char(255) Tem pat _lhr char(50) Tgl_lhr dat etime Alamat char(255) Tlp char(15) HP char(30) Mahasis wa

NRP char(8) Nama char(255) Tempat _lhr char(50) Tgl_lhr dat etime Alamat char(255) Tlp char(15) HP char(30)

Matkul

Kode_M atkul char(8) Nama char(30) SKS tiny int

Hari char(6)

Jam char(13)

Kode_Ruang char(25)

NIP char(8)

Kode_Jurusan char(3) Kode_Syarat char(8) Quota tiny int SKS_Minimum tiny int Grade_Minim um char(2)

Ruang

Kode_Ruang char(25) Kapasit as tiny int Transkrip

NRP char(8)

Kode_M atkul char(8) Grade char(2) Periode_Lulus char(20)

(7)

Tabel 3.1. Struktur Tabel Mahasiswa

Nama Field Tipe PK FK Keterangan

NRP char(8) yes no NRP mahasiswa Nama char(255) no no Nama mahasiswa Tempat_lhr char(50) no no Tempat lahir mahasiswa Tgl_lhr datetime no no Tanggal lahir mahasiswa Alamat char(255) no no Alamat mahasiswa

Tlp char(15) no no Nomor telepon mahasiswa HP char(30) no no Nomor handphone mahasiswa

- tabel dosen : digunakan untuk menyimpan data pribadi dosen.

Tabel 3.2. Struktur Tabel Dosen

Nama Field Tipe PK FK Keterangan

NIP char(8) yes no NIP dosen Nama char(255) no no Nama dosen Tempat_lhr char(50) no no Tempat lahir dosen Tgl_lhr datetime no no Tanggal lahir dosen Alamat char(255) no no Alamat dosen

Tlp char(15) no no Nomor telepon dosen HP char(30) no no Nomor handphone dosen

- tabel matkul : digunakan untuk menyimpan data mengenai mata kuliah yang ada.

Tabel 3.3. Struktur Tabel Matkul

Nama Field Tipe PK FK Keterangan

Kode_Matkul char(8) yes no Kode mata kuliah

NIP char(8) no yes NIP dosen yang mengajar Grade_Minimum char(2) no yes Nilai minimum untuk lulus Kode_Ruang char(25) no yes Kode ruangan

(8)

Tabel 3.3. Struktur Tabel Matkul (sambungan)

Nama Field Tipe PK FK Keterangan

Nama char(30) no no Nama mata kuliah SKS tinyint no no Bobot SKS mata kuliah Hari char(6) no no Hari penyelenggaraan Jam char(13) no no Jam penyelenggaraan Kode_Jurusan char(3) no no Kode jurusan yang boleh

mengambil

Kode_Syarat char(8) no no Kode mata kuliah yang harus diambil

Quota tinyint no no Kapasitas kelas

SKS_Minimum tinyint no no Jumlah SKS minimum yang harus diselesaikan

- tabel ruang : digunakan untuk meyimpan data ruangan yang tersedia.

Tabel 3.4. Struktur Tabel Ruang

Nama Field Tipe PK FK Keterangan

Kode_Ruang char(25) yes no Kode ruangan Kapasistas tinyint no no Kapasitas ruangan

- tabel ambil_matkul : digunakan untuk meyimpan data pengambilan mata kuliah oleh mahasiswa.

Tabel 3.5. Struktur Tabel Ambil_Matkul

Nama Field Tipe PK FK Keterangan

Kode_Matkul char(8) yes yes Kode mata kuliah NRP char(8) yes yes NRP mahasiswa Test1 float no no Nilai test 1

UTS float no no Nilai UTS

(9)

Tabel 3.5. Struktur Tabel Ambil_Matkul (sambungan)

Nama Field Tipe PK FK Keterangan

Test2 float no no Nilai test 2

UAS float no no Nilai UAS

NA float no no Nilai akhir dalam angka Grade char(2) no no Nilai akhir dalam huruf

- tabel transkrip : digunakan untuk menyimpan data mata kuliah yang telah diambil oleh mahasiswa

Tabel 3.6. Struktur Tabel Transkrip

Nama Field Tipe PK FK Keterangan

Kode_Matkul char(8) yes yes Kode mata kuliah NRP char(8) yes yes NRP mahasiswa Grade char(2) no yes Grade dalam angka Periode_Lulus char(16) no no Semester kelulusan

3.1.3. Desain Aplikasi Multitier Pada Bidang Administrasi Akademik

Gambar 3.7 menunjukkan aplikasi multitier yang akan dibuat. Pada aplikasi ini terdapat sebuah database server, 2 (dua) buah CORBA server, dan 2 (dua) buah CORBA client.

Pada database server diletakkan tabel-tabel yang digunakan, beserta dengan hubungan/relasi antar tabel-tabel tersebut, trigger, dan juga fungsi-fungsi yang diperlukan.

CORBA server yang pertama, yaitu CORBA server biro_administrasi, berfungsi untuk menangani proses-proses yang bersifat operasional (tidak berhubungan langsung dengan pengambilan mata kuliah). Pada CORBA server ini diletakkan business proses untuk menangani penginputan data mahasiswa, data dosen, dan juga data ruang perkuliahan.

Pada CORBA server biro_administrasi ini juga terdapat komponen untuk mengakses database server, jadi semua proses yang memerlukan pengaksesan

(10)

database yang ada, harus melewati CORBA server biro_administrasi. Jadi CORBA server ini juga berfungsi sebagai CORBA server yang meneruskan permintaan dari client ke database server, dan kemudian meneruskan output dari database server tersebut kepada client yang memintanya. Dalam hal ini yang dimaksud dengan client adalah CORBA client 1, CORBA client 2, dan juga CORBA server jurusan.

Gambar 3.7. Aplikasi multitier pada bidang administrasi akademik

CORBA server yang kedua, yaitu CORBA server jurusan berfungsi untuk menangani proses-proses yang berhubungan dengan pengambilan mata kuliah, pada CORBA server ini diletakkan business proses untuk menangani pengambilan mata kuliah oleh mahasiswa, penginputan nilai oleh dosen, melihat jadwal perkuliahan, jadwal mengajar dosen, melihat nilai maupun transkrip mahasiswa.

CORBA client 1 digunakan untuk memasukkan data pribadi mahasiswa, data pribadi dosen, data ruang perkuliahan, data mata kuliah, penginputan nilai, melihat data pribadi dosen, data pribadi mahasiswa, data mata kuliah, jadwal mengajar dosen, serta data pengambilan mata kuliah.

(11)

CORBA client 2 digunakan untuk memasukkan data pengambilan mata kuliah, melihat jadwal perkuliahan, melihat nilai serta transkrip mahasiswa.

Pada gambar 3.7 terdapat beberapa aliran data/proses yang digambarkan dengan garis berpanah (garis nomor 1,2,3,4,5 dan 6). Aliran-aliran tersebut adalah :

- garis nomor 1 menunjukkan proses pengaksesan database server oleh CORBA server biro_administrasi, misalnya untuk mengakses tabel tertentu, kemudian database server memberikan data yang diminta ke CORBA server biro_administrasi.

- garis nomor 2 menunjukkan proses yang terjadi antara CORBA server biro_administrasi dan CORBA server jurusan. Karena yang dapat mengakses database server adalah CORBA server biro_administrasi, maka ketika CORBA server jurusan memerlukan pengaksesan data pada database server, CORBA server jurusan memintanya kepada CORBA server biro_administrasi, setelah mendapatkan data yang diminta maka CORBA server biro_administrasi akan meneruskannya kepada CORBA server jurusan. Dalam mekanisme ini CORBA server biro_administrasi berperan sebagai server terhadap CORBA server jurusan dan sebaliknya.

- garis nomor 3 dan 4 menunjukkan aliran data/proses yang terjadi antara CORBA server biro_administrasi dengan CORBA client 1 dan CORBA client 2, dan juga sebaliknya.

- garis nomor 5 dan 6 menunjukkan aliran data/proses yang terjadi antara CORBA server jurusan dengan CORBA client 1 dan CORBA client 2, dan juga sebaliknya.

Sebagai contoh misalnya client 1 ingin melihat menginputkan data pribadi dosen, maka data tersebut akan diteruskan ke CORBA server biro_administrasi, kemudian oleh CORBA server biro_administrasi, data tersebut dimasukkan ke dalam database yang terdapat pada database server (proses 3 – 1).

Contoh lain, client 2 ingin melihat data transkrip, karena business proses yang diperlukan terdapat pada CORBA server jurusan, maka client 2 akan melakukan request ke pada CORBA server jurusan, kemudian CORBA server jurusan akan melakukan request terhadap CORBA server biro_administrasi yang akan mengambil data yang diperlukan dari database server. Setelah mendapatkan datanya, maka akan

(12)

diteruskan ke CORBA server jurusan, untuk kemudian diteruskan lagi kepada client 2 (proses 6 – 2 – 1 – 1 – 2 – 6).

Pada masing-masing komputer tempat diletakkannya CORBA server biro_administrasi dan CORBA server jurusan, dijalankan visibroker smart agent.

Smart agent inilah yang akan menangani/mengatur request yang dilakukan oleh CORBA client terhadap object-object yang dimiliki oleh CORBA server. Peletakkan smart agent pada 2 (dua) komputer yang berbeda, yaitu CORBA server biro_administrasi dan CORBA server jurusan, bertujuan agar antar smart agent yang ada dapat saling berfungsi sebagai backup terhadap yang lain. Jadi jika salah satu smart agent mati, maka smart agent yang lain dapat tetap menangani/mengatur request yang terjadi.

3.1.4. Desain Form

Untuk pembuatan aplikasi ini maka dibuat desain form-form yang diperlukan, antara lain form input data pribadi mahasiswa, form input data pribadi dosen, form input data ruang perkuliahan, form input data mata kuliah, form input nilai mata kuliah, form lihat jadwal mengajar dosen, form input pengambilan mata kuliah, form lihat jadwal perkuliahan, form lihat data nilai mahasiswa, form lihat transkrip mahasiswa.

3.1.4.1. Form input data pribadi mahasiswa

Gambar 3.8 merupakan form untuk menginputkan data pribadi mahasiswa.

(13)

Gambar 3.8. Form input data pribadi mahasiswa

3.1.4.2 Form input data pribadi dosen

Gambar 3.9 merupakan form untuk menginputkan data pribadi dosen.

Gambar 3.9. Form input data pribadi dosen

NRP Nama Tempat lahir Tanggal lahir Alamat Telepon HP

Submit

NIP Nama Tempat lahir Tanggal lahir Alamat Telepon HP

Submit

(14)

3.1.4.3. Form input data mata kuliah

Gambar 3.10 merupakan form untuk menginputkan data mata kuliah. Pada form ini nama ruangan dan NIP dosen yang mengajar dipilih masing-masing dari tabel ruang dan tabel dosen. Sedangkan untuk nilai minimum berupa pilihan antara A, B+, B, C+, C, D, dan E.

Gambar 3.10. Form input data mata kuliah

3.1.4.4. Form input data ruang perkuliahan

Gambar 3.11 merupakan form untuk menginputkan data ruang perkuliahan.

Kode Nama SKS Hari Jam Quota Ruang

Submit NIP

Kode Jurusan Kode Syarat Nilai minimum SKS minimum

(15)

Gambar 3.11. Form input data ruang perkuliahan

3.1.4.5. Form input data nilai mata kuliah

Gambar 3.12 merupakan form untuk menginputkan nilai dari mata kuliah yang diajar oleh dosen tertentu. Pada form ini dapat dipilih field-field apa saja yang ingin ditampilkan. Juga dapat dilakukan pencarian data pengambilan mata kuliah berdasarkan kode mata kuliah, maupun NRP mahasiswa yang mengambil

Gambar 3.12. Form input data nilai mata kuliah

Kode Nama Kapasitas

Submit

Test 1 UTS Test 2 UAS Grade All Nama Field

Submit Sort by

Sorting

by Kode by NRP

Search

(16)

3.1.4.6. Form lihat data pribadi mahasiswa

Gambar 3.13 merupakan form untuk melihat data pribadi mahasiswa. Pada form ini dapat dipilih field-field apa saja yang ingin ditampilkan. Juga dapat dilakukan pencarian berdasarkan NRP maupun nama mahasiswa.

Gambar 3.13. Form lihat data pribadi mahasiswa

3.1.4.7. Form lihat data pribadi dosen

Gambar 3.14 merupakan form untuk melihat data pribadi dosen. Pada form ini dapat dipilih field-field apa saja yang ingin ditampilkan. Juga dapat dilakukan pencarian berdasarkan NIP maupun nama dosen.

Submit Sort by

Sorting

Tempat lahir Tanggal lahir Alamat Tlp HP All Nama Field

by NRP Search

by Nama

(17)

Gambar 3.14. Form lihat data pribadi dosen

3.1.4.8. Form lihat data mata kuliah

Gambar 3.15 merupakan form untuk melihat data mata kuliah. Pada form ini dapat dipilih field-field apa saja yang ingin ditampilkan. Juga dapat dilakukan pencarian berdasarkan kode maupun nama mata kuliah.

Gambar 3.15. Form lihat data mata kuliah

Submit Sort by

Sorting

Tempat lahir Tanggal lahir Alamat Tlp HP All Nama Field

by NIP Search

by Nama

Submit Sort by

Sorting by Kode Search

by Nama

All Nama Field

SKS Minimum Grade Minimum Kode Syarat Kode Jurusan Quota Kode Ruang NIP Jam

Hari SKS

(18)

3.1.4.9. Form lihat data ruang perkuliahan

Gambar 3.16 merupakan form untuk melihat data ruang perkuliahan. Pada form ini dapat dilakukan pencarian berdasarkan kode,nama ruang maupun kapasitas ruang.

Gambar 3.16. Form lihat data ruang perkuliahan

3.1.4.10. Form lihat jadwal mengajar dosen

Gambar 3.17 merupakan form untuk melihat jadwal mengajar dosen. Pada form ini dapat dilakukan pencarian data berdasarkan NIP dosen yang mengajar.

Gambar 3.17. Form lihat jadwal mengajar dosen

Submit Sort by

Sorting by Kode Search

by Nama by Kapasitas

Submit by NIP

Search

(19)

3.1.4.11. Form lihat data pengambilan mata kuliah

Gambar 3.18 merupakan form untuk melihat data pengambilan mata kuliah.

Pada form ini dapat dilakukan pencarian data berdasarkan NRP mahasiswa.

Gambar 3.18. Form lihat data pengambilan mata kuliah

3.1.4.12. Form input pengambilan mata kuliah

Gambar 3.19 merupakan form untuk menginputkan data pengambilan mata kuliah oleh seorang mahasiswa. Pada form ini pilihan kode mata kuliah yang dapat diambil oleh seorang mahasiswa, diambil dari tabel matkul, di mana sebelumnya dilakukan pengecekan mata kuliah mana saja yang dapat diambil oleh mahasiswa yang bersangkutan.

Submit

Sort by Sorting

by NRP Search

(20)

Gambar 3.19. Form input pengambilan mata kuliah

3.1.4.13. Form lihat jadwal perkuliahan

Gambar 3.20 merupakan form untuk melihat jadwal perkuliahan yang ada.

Pada form ini dapat dilakukan pencarian data berdasarkan NRP mahasiswa.

Gambar 3.20. Form lihat jadwal perkuliahan

3.1.4.14. Form lihat data nilai mahasiswa

Gambar 3.21 merupakan form untuk melihat nilai mata kuliah dari mahasiswa. Pada form ini dapat pencarian data berdasarkan NRP mahasiswa.

NRP

Kode Matkul Nama Matkul

Submit Nama Mahasiswa

Submit by NRP

Search

(21)

Gambar 3.21. Form lihat data nilai mahasiswa

3.1.4.15 Form lihat transkrip mahasiswa

Gambar 3.22 merupakan form untuk melihat data transkrip dari mahasiswa.

Pada form ini dapat dapat dilakukan pencarian data berdasarkan NRP mahasiswa.

Gambar 3.22. Form lihat transkrip mahasiswa

3.2. Implementasi Sistem

Pada bagian ini akan dibahas langkah-langkah yang perlu dilakukan untuk mewujudkan aplikasi multitier pada bidang akademik yang sudah dirancang pada sub bab 3.1.5. Aplikasi multitier ini terdiri dari 5 (lima) buah bagian, yaitu :

- 1 buah komputer yang digunakan sebagai database server. Komputer ini menggunakan sistem operasi Microsoft Windows 2000 Server dan menggunakan Microsoft SQL Server Enterprise Edition sebagai database server.

Submit by NRP

Search

Submit by NRP

Search

(22)

- 1 buah komputer yang digunakan sebagai CORBA server biro_administrasi. Komputer ini menggunakan sistem operasi Microsoft Windows 2000 Server, dan menggunakan bahasa pemrograman Borland Delphi 7 Enterprise Edition

- 1 buah komputer yang digunakan sebagai CORBA server jurusan.

Komputer ini menggunakan sistem operasi Linux Lycoris Desktop LX, dan menggunakan bahasa pemrograman Borland Kylix 3 Entrprise Edition.

- 1 buah komputer yang digunakan sebagai CORBA client (CORBA client 1). Komputer ini menggunakan sistem operasi Microsoft Windows 2000 Server, dan menggunakan bahasa pemrograman Borland Delphi 7.

- 1 buah komputer uang digunakan sebagai CORBA client (CORBA client 2). Komputer ini menggunakan sistem operasi Linux Lycoris Desktop LX, dan menggunakan bahasa pemrograman Borland Kylix 3.

Pada sub bab selanjutnya akan dijelaskan langkah-langkah yang perlu dilakukan untuk mengimplementasikan masing-masing bagian di atas.

3.2.1. Implementasi Database Server.

Untuk mengimplementasikan database server ini maka terlebih dahulu harus membuat sebuah database baru, untuk tugas akhir ini dibuat database dengan nama akademik.

Setelah itu dibuat tabel-tabel yang diperlukan beserta dengan perlengkapannya, yaitu diagram yang menunjukkan relasi antar tabel yang ada, juga function-function dan trigger yang diperlukan. Pada tugas akhir ini dibuat 2 (dua) buah function dan 2 (dua) buah trigger.

Function tersebut adalah function ambil_periode (segmen program 3.1) yang digunakan untuk mengambil periode masa perkuliahan, dan function konversi (sergmen program 3.2) yang digunakan untuk merubah nilai grade dari huruf menjadi angka.

(23)

Segmen Program 3.1 Function ambil_periode

CREATE FUNCTION dbo.ambil_periode (@Tanggal datetime) RETURNS char(20) AS

BEGIN

DECLARE @Periode char(20) DECLARE @Bulan tinyint

SELECT @Bulan = MONTH(@Tanggal) IF @Bulan <= 6

SELECT @Periode = 'Genap

'+STR(YEAR(@Tanggal),4,0)+'/'+STR(YEAR(@Tanggal)-1,4,0) ELSE

SELECT @Periode = 'Ganjil

'+STR(YEAR(@Tanggal),4,0)+'/'+STR(YEAR(@Tanggal)+1,4,0) RETURN(@Periode)

END

Segmen Program 3.2 Function konversi

CREATE FUNCTION dbo.konversi (@Grade_Huruf char(2)) RETURNS tinyint AS

BEGIN

DECLARE @Grade_Angka tinyint SELECT @Grade_Angka =

CASE @Grade_Huruf WHEN 'A' THEN 6 WHEN 'B+' THEN 5 WHEN 'B' THEN 4 WHEN 'C+' THEN 3 WHEN 'C' THEN 2 WHEN 'D' THEN 1 WHEN 'E' THEN 0 END

RETURN(@Grade_Angka) END

Selain itu juga terdapat 2 (dua) buah trigger pada tabel Ambil_Matkul, yang digunakan untuk meng-update tabel Tranksrip (segmen program 3.3 dan 3.4).

Segmen Program 3.3. Trigger untuk proses input data pada tabel Ambil_Matkul

CREATE TRIGGER input_transkrip ON [dbo].[Ambil_Matkul]

FOR INSERT AS

DECLARE @NRP char(8), @Kode_Matkul char(8), @Grade char(2) SELECT @NRP = (SELECT NRP FROM INSERTED)

SELECT @Kode_Matkul = (SELECT Kode_Matkul FROM INSERTED) SELECT @Grade = (SELECT Grade FROM INSERTED)

INSERT INTO Transkrip(NRP,Kode_Matkul,Grade) VALUES(@NRP,@Kode_Matkul,@Grade)

(24)

Segmen Program 3.4 Trigger untuk proses update data pada tabel Ambil_Matkul

CREATE TRIGGER update_transkrip ON [dbo].[Ambil_Matkul]

FOR UPDATE AS

DECLARE @Grade_Lama char(2),@Grade_Baru char(2) SELECT @Grade_Lama = (SELECT Grade FROM DELETED) SELECT @Grade_Baru = (SELECT Grade FROM INSERTED) IF @Grade_Lama <> @Grade_Baru

DECLARE @NRP char(8), @Kode_Matkul char(8) SELECT @NRP = (SELECT NRP FROM INSERTED)

SELECT @Kode_Matkul = (SELECT Kode_Matkul FROM INSERTED) UPDATE Transkrip SET Grade = @Grade_Baru WHERE NRP = @NRP AND Kode_Matkul = @Kode_Matkul

3.2.2. Implementasi CORBA Server Biro_administrasi

Langkah-langkah yang perlu dilakukan untuk membuat CORBA server biro_administrasi ini dibagi menjadi :

- pembuatan IDL untuk CORBA server biro_administrasi.

- mapping IDL menjadi unit pada Borland Delphi 7 dan menggunakannya untuk membuat aplikasi CORBA server.

- menuliskan business proses yang diperlukan.

- inisialisasi CORBA object

3.2.2.1. Pembuatan IDL untuk CORBA Server Biro_administrasi

Pada CORBA server biro_administrasi terdapat business proses untuk menangani penginputan data mahasiswa, data dosen, dan juga data ruang perkuliahan. Business proses tersebut diletakkan pada method-method yang dimiliki oleh CORBA object yang terdapat pada CORBA server biro_administrasi. Untuk mewujudkan CORBA object beserta dengan method-method yang diperlukan, maka terlebih dahulu dibuat desain Interface Definition Language (IDL) untuk CORBA server biro_administrasi (segmen program 3.5).

Segmen Program 3.5. Biro_administrasi.idl

module biro_administrasi { struct DataMahasiswa { string NRP;

string Nama;

string Tempat_lhr;

string Tgl_lhr;

(25)

Segmen Program 3.5. Biro_administrasi.idl (sambungan)

string Alamat;

string Tlp;

string HP;

string Password;

};

struct DataDosen { string NIP;

string Nama;

string Tempat_lhr;

string Tgl_lhr;

string Alamat;

string Tlp;

string HP;

};

struct DataRuang { string Kode_Ruang;

string Nama;

long Kapasitas;

};

typedef sequence <DataMahasiswa> ArrayMahasiswa;

typedef sequence <DataDosen> ArrayDosen;

typedef sequence <DataRuang> ArrayRuang;

interface teknis {

boolean exist (in string Primary_Key);

void inputdatamahasiswa (in DataMahasiswa inDataMahasiswa);

void inputdatadosen (in DataDosen inDataDosen);

void inputdataruang (in DataRuang inDataRuang);

void updatedatamahasiswa (in DataMahasiswa inDataMahasiswa, in string oldNRP);

void updatedatadosen (in DataDosen inDataDosen, in string oldNIP);

void updatedataruang (in DataRuang inDataRuang, in string oldKode_Ruang);

void hapusdata (in string Primary_Key);

ArrayMahasiswa ambildatamahasiswa (in string key, in string view,

in string sort);

ArrayDosen ambildatadosen (in string key, in string view, in string sort);

ArrayRuang ambildataruang (in string key, in string sort);

};

};

(26)

Pada segmen program 3.5. tampak sebuah interface ‘teknis’. Interface inilah yang akan menjadi sebuah CORBA object, yang terdapat pada CORBA server biro_administrasi. Pada interface ini terdapat beberapa method (procedure/function), yaitu :

- function exist :

digunakan untuk mengetahui apakah data dengan primary key yang sama sudah terdapat dalam database, jika sudah ada maka function ini akan mengembalikan nilai true, dan jika belum ada akan mengembalikan nilai false.

- procedure inputdatamahasiswa :

digunakan untuk melakukan penginputan data pribadi mahasiswa.

- procedure inputdatadosen :

digunakan untuk melakukan penginputan data pribadi dosen.

- procedure inputdataruang :

digunakan untuk melakukan penginputan data ruang perkuliahan.

- procedure updatedatamahasiswa :

digunakan untuk melakukan peng-update-an data pribadi mahasiswa.

- procedure updatedatadosen :

digunakan untuk melakukan peng-update-an data pribadi dosen.

- procedure updatedataruang :

digunakan untuk melakukan peng-update-an data ruang perkuliahan.

- procedure hapusdata :

digunakan untuk menghapus data tertentu pada database.

- function ‘ambildatamahasiswa :

digunakan untuk mengambil data pribadi mahasiswa dari database.

- function ambildatadosen :

digunakan untuk mengambil data pribadi dosen dari database.

- function ambildataruang :

digunakan untuk mengambil data ruang perkuliahan dari database.

(27)

Selain itu juga terdapat tipe data yang bukan tipe data primitif, yaitu record DataMahasiswa, record DataDosen, record DataRuang, dan array dinamik dari record tersebut (ArrayMahasiswa, ArrayDosen, ArrayRuang).

3.2.2.2. Mapping IDL Menjadi Unit pada Borland Delphi 7

Langkah selanjutnya adalah melakukan mapping IDL yang sudah dibuat ke dalam bentuk unit pada Borland Delphi 7 (*.pas) dan digunakan untuk membuat aplikasi CORBA server biro_administrasi. Hal ini dapat dilakukan dengan memilih menu ‘File’ – ‘New’ – ‘Other’, kemudian memilih tab ‘CORBA’, kemudian memilih

‘CORBA Server Application’ (gambar 3.23).

Gambar 3.23. Window pilihan jenis aplikasi CORBA yang akan dibuat (pada Borland Delphi 7)

(28)

Kemudian tambahkan file IDL yang diperlukan (gambar 3.24)

Gambar 3.24. Window untuk menambahkan file IDL yang akan dipakai untuk aplikasi CORBA server (pada Borland Delphi 7)

Langkah ini akan menghasilkan suatu aplikasi Borland Delphi yang mempunyai unit ‘biro_administrasi_s.pas’ (skeleton), ‘biro_administrasi_c.pas’

(stub), ‘biro_administrasi_i’ (interface), dan ‘biro_administrasi_impl.pas’.

3.2.2.3. Penulisan Business Proses pada Unit Implementasi.

Pada file ‘biro_administrasi_impl.pas’ yang dihasilkan, diletakkan business proses yang diinginkan. Contohnya adalah business proses untuk function exist (segmen program 3.6). Pada segmen program ini dijelaskan proses yang dilakukan ketika function exist dipanggil. Function tersebut akan menerima parameter yang berupa primary key dari data yang ingin dicari, dengan didahului sebuah kode di depannnya (1 untuk NRP, 2 untuk NIP, 3 untuk Kode_Ruang). Berdasar kode tersebut, maka ditentukan perintah SQL yang harus dijalankan, perintah ini kemudian dimasukkan ke dalam komponen ADOQuery yang menggunakan TADOConnection yang terdapat pada form utama (frmutama). Setelah perintah SQL tersebut dijalankan, maka dapat diketahui apakah data yang dicari ada atau tidak, jika

(29)

data tersebut ada maka function tersebut akan mengembalikan nilai true, jika tidak ada akan mengembalikan nilai false. Selain itu juga akan ditampilkan pesan pada memo yang terdapat pada form utama.

Segmen Program 3.6. Function exist.

function Tteknis.exist ( const Primary_Key : AnsiString): Boolean;

var aqData : TADOQuery;

SQL,Key,Key1,Key2 : string;

index : integer;

begin

{ Primary_Key = 1:NRP, 2:NIP, 3:Kode_Ruang, 4:Kode_Matkul, 5:NRP&Kode_Matkul }

Key := copy(Primary_Key,2,length(Primary_Key)-1);

aqData := TADOQuery.Create(nil);

aqData.Connection := frmUtama.ADO;

case Primary_Key[1] of

'1' : SQL := format('SELECT NRP FROM Mahasiswa WHERE NRP=''%s''',[Key]);

'2' : SQL := format('SELECT NIP FROM Dosen WHERE NIP=''%s''',[Key]);

'3' : SQL := format('SELECT Kode_Ruang FROM Ruang WHERE Kode_Ruang=''%s''',[Key]);

end;

aqData.SQL.Clear;

aqData.SQL.Add(SQL);

aqData.Open;

if (aqData.RecordCount > 0) then result := true else result := false;

aqData.Destroy;

frmUtama.mmServer.Lines.Append('Get request for checking data existence');

frmUtama.mmServer.Lines.Append('Sending confirmation about data existence');

frmUtama.mmServer.Lines.Append('');

end;

3.2.2.4. Inisialisasi CORBA Object.

Agar object pada CORBA server biro_administrasi dapat dikenali dan method-method yang dimilikinya dapat dipanggil oleh client yang membutuhkan maka, harus dilakukan inisialisasi, yaitu dengan menambahkan perintah untuk men- create interface, kemudian menyampaikan kepada smart agent bahwa interface tersebut siap untuk diakses (segmen program 3.7). Pada saat melakukan proses create

(30)

parameter yang diperlukan adalah instance name berupa string, dan juga object yang ingin diimplementasikan. Instance name ini berfungsi sebagai referensi terhadap object yang diimplementasikan dan digunakan oleh client yang ingin mengakses object tersebut.

Segmen Program 3.7. Inisialisasi object.

OTeknis:=TteknisSkeleton.Create('IDL:biro_administrasi/teknis:1.0', Tteknis.Create);

BOA.ObjIsReady(Oteknis as _Object);

Sebelum menjalankan perintah di atas maka smart agent harus dijalankan terlebih dahulu.

3.2.3. Implementasi CORBA Server Jurusan

Langkah-langkah yang perlu dilakukan untuk membuat CORBA server jurusan dibagi menjadi :

- pembuatan IDL untuk CORBA server jurusan.

- mapping IDL menjadi unit pada Borland Kylix 3 dan menggunakannya untuk membuat aplikasi CORBA server.

- menuliskan business proses yang diperlukan.

- inisialisasi CORBA object

3.2.3.1. Pembuatan IDL untuk CORBA Server Jurusan

Pada CORBA server jurusan terdapat business proses untuk menangani pengambilan mata kuliah oleh mahasiswa, penginputan nilai oleh dosen, melihat jadwal perkuliahan, jadwal mengajar dosen, melihat nilai maupun transkrip mahasiswa. IDL untuk mewujudkan business proses tersebut tampak pada segmen program 3.8.

(31)

Segmen Program 3.8. Jurusan.idl

module jurusan { ...

...

interface akademik {

boolean exist (in string Primary_Key);

void inputdatamatkul (in DataMatkul inDataMatkul);

void inputdataambil_matkul (in string NRP,

in string Kode_Matkul);

void updatedatamatkul (in DataMatkul inDataMatkul, in string oldKode_Matkul);

void updatedataambil_matkul (in string NRP,

in string Kode_Matkul, in string oldNRP,

in string oldKode_Matkul);

void updatenilai (in ArrayAmbil_Matkul inArrayAmbil_Matkul);

void hapusdata (in string Primary_Key);

ArrayMatkul ambildatamatkul (in string key, in string view,

in string sort);

ArrayAmbil_Matkul ambildataambil_matkul (in string key, in string view, in string sort);

ArrayJadwal_Mengajar lihatjadwal_mengajar (in string NIP);

ArrayJadwal_Kuliah lihatjadwal_kuliah (in string NRP);

ArrayTranskrip lihattranskrip (in string NRP);

};

};

Pada segmen program 3.8 terdapat interface ‘akademik’ yang mempunyai beberapa method, yaitu :

- function exist :

digunakan untuk mengetahui apakah data dengan primary key yang sama sudah terdapat dalam database, jika sudah ada maka function ini akan mengembalikan nilai true, dan jika belum ada akan mengembalikan nilai false.

- procedure inputdatamatkul :

digunakan untuk melakukan penginputan data mata kuliah.

- procedure inputdataambil_matkul :

digunakan untuk melakukan penginputan data pengambilan mata kuliah.

(32)

- procedure updatedatamatkul :

digunakan untuk melakukan peng-update-an data mata kuliah.

- procedure updatedataambil_matkul :

digunakan untuk melakukan peng-update-an data pengambilan mata kuliah.

- procedure updatenilai :

digunakan untuk melakukan peng-update-an data nilai mahasiswa.

- procedure hapusdata :

digunakan untuk menghapus data tertentu pada database.

- function ambildatamatkul :

digunakan untuk mengambil data mata kuliah dari database.

- function ambildataambil_matkul :

digunakan untuk mengambil data pengambilan mata kuliah dari database.

- function lihatjadwal_mengajar :

digunakan untuk mengambil data jadwal mengajar dosen.

- function lihatjadwal_kuliah :

digunakan untuk mengambil data jadwal kuliah mahasiswa.

- function lihattranskrip :

digunakan untuk mengambil data transkrip mahasiswa.

Selain itu juga terdapat beberapa tipe data yang berupa record, antara lain DataMatkul, DataAmbil_Matkul, Jadwal_Mengajar, Jadwal_Kuliah, DataTranskrip, dan juga array dinamik dari record-record tersebut (ArrayMatkul, ArrayAmbil_Matkul, ArrayJadwal_Mengajar, ArrayJadwal_Kuliah, dan ArrayTranskrip).

3.2.3.2. Mapping IDL Menjadi Unit pada Borland Kylix 3

Langkah selanjutnya adalah melakukan proses mapping IDL tersebut ke dalam bentuk unit pada Borland Kylix 3 (*.pas). Langkah-langkah yang perlu dilakukan sama dengan proses mapping pada Borland Delphi 7 (gambar 3.25 dan 3.26).

(33)

Hasil mapping ini juga sama yaitu ‘Jurusan_s,pas’, ‘Jurusan_c.pas’,

‘Jurusan_i.pas’ dan ‘Jurusan_impl.pas’.

Gambar 3.25. Window pilihan jenis aplikasi CORBA yang akan dibuat (pada Borland Kylix 3)

Gambar 3.26. Window untuk menambahkan file IDL yang akan dipakai untuk aplikasi CORBA server (pada Borland Kylix 3)

(34)

3.2.3.3. Penulisan Business Proses pada Unit Implementasi.

Pada file ‘Jurusan_impl.pas’ inilah diletakkan business proses yang dimiliki oleh CORBA server jurusan.

3.2.3.4. Inisialisasi CORBA Object.

Sama seperti pada CORBA server biro_administrasi, perlu juga dilakukan proses inisialisasi pada CORBA server jurrusan, hal ini dapat dilihat pada segmen program 3.9

Segmen Program 3.9. Inisialisasi object.

OAkademik := TakademikSkeleton.Create('IDL:jurusan/akademik:1.0', Takademik.Create);

BOA.ObjIsReady(Oakademik as _Object);

3.2.4. Implementasi CORBA Server Untuk Proses Relay

Karena semua proses yang memerlukan pengaksesan database server harus melalui CORBA server biro_administrasi, maka dalam hal ini CORBA server biro_administrasi juga mempunyai fungsi sebagai CORBA server untuk meneruskan (relay). Hal ini diwujudkan dengan membuat sebuah CORBA server lain, yang juga ditempatkan pada aplikasi yang sama dengan CORBA server biro_administrasi.

Untuk itu perlu adanya sebuah IDL yang menanganinya, yaitu ‘Relay.idl’

(segmen program 3.10).

Segmen Program 3.10. Relay.idl

module relay_jurusan { ...

...

interface relay_akademik {

void operation (in string Param);

void updatenilai (in ArrayString Param);

ArrayMatkul ambildatamatkul (in string Param);

ArrayAmbil_Matkul ambildataambil_matkul (in string Param);

ArrayJadwal_Mengajar lihatjadwal_mengajar (in string Param);

ArrayJadwal_Kuliah lihatjadwal_kuliah (in string Param);

ArrayTranskrip lihattranskrip (in string Param);

};

};

(35)

Langkah selanjutnya sama dengan langkah-langkah yang dilakukan pada implementasi CORBA server biro_administrasi dan CORBA server jurusan.

Untuk proses inisialisasi pada CORBA server biro_administrasi perlu ditambah proses inisialisasi untuk CORBA server relay ini. Hasilnya tampak pada segmen program 3.11.

Segmen Program 3.11. Inisialisasi object.

OTeknis:=TteknisSkeleton.Create('IDL:biro_administrasi/teknis:1.0', Tteknis.Create);

BOA.ObjIsReady(Oteknis as _Object);

ORelay_akademik := Trelay_akademikSkeleton.Create(

'IDL:relay_jurusan/relay_akademik:1.0',Trelay_akademik.Create);

BOA.ObjIsReady(ORelay_akademik as _Object);

Dalam proses relay ini, CORBA server jurusan bertindak sebagai client, oleh karena itu perlu dilakukan proses inisialisasi untuk menghubungkan client dengan CORBA server yang ada, dalam hal ini adalah CORBA server relay. Penambahan ini dapat tampak pada segmen program 3.12.

Segmen Program 3.12. Inisialisasi object.

OAkademik := TakademikSkeleton.Create('IDL:jurusan/akademik:1.0', Takademik.Create);

BOA.ObjIsReady(Oakademik as _Object);

ORelay_akademik :=

Trelay_akademikHelper.Bind('IDL:relay_jurusan/relay_akademik:1.0')

Agar sebauh client dapat mengakses sebuah CORBA server, maka perlu dilakukan proses binding terlebih dahulu. Parameter yang diperlukan adalah instance name yang berupa string.

3.2.5. Implementasi CORBA Client 1 dan CORBA Client 2

Langkah-langkah yang perlu dilakukan untuk membuat CORBA client 1 dan CORBA cleint 2 adalah sebagai berikut :

(36)

- mapping IDL menjadi unit pada Borland Kylix 7 untuk CORBA client 1, dan menjadi unit pada Borland Kylix 3 untuk CORBA client 2. Unit ini kemudian digunakan untuk membuat aplikasi CORBA client.

- melakukan proses binding terhadap CORBA server.

3.2.5.1. Mapping IDL Menjadi Unit pada Borland Delphi 7 dan Borland Kylix 3 Untuk membuat aplikasi CORBA client, langkah-langkah yang perlu dilakukan hampir sama dengan membuat aplikasi CORBA server. Yaitu dengan memilih menu ‘File’ – ‘New’ – ‘Other’, kemudian memilih tab ‘CORBA’, kemudian memilih ‘CORBA Client Application’ (gambar 3.27 dan 3.28).

Kemudian tambahkan file IDL yang akan digunakan, karena CORBA client 1 dan CORBA client 2 memerlukan pengaksesan terhadap CORBA server biro_administrasi dan juga CORBA server jurusan, maka file IDL yang ditambahkan adalah ‘Biro_administrasi.idl’ dan ‘Jurusan.idl’ (gambar 3.29 dan 3.30).

Gambar 3.27. Window pilihan jenis aplikasi CORBA yang akan dibuat (pada Borland Delphi 7)

(37)

Gambar 3.28. Window pilihan jenis aplikasi CORBA yang akan dibuat (pada Borland Kylix 3)

Gambar 3.29. Window untuk menambahkan file IDL yang akan dipakai untuk aplikasi CORBA server (pada Borland Delphi 7)

(38)

Gambar 3.30. Window untuk menambahkan file IDL yang akan dipakai untuk aplikasi CORBA server (pada Borland Kylix 3)

3.2.5.2. Proses Binding terhadap CORBA Server

Setelah dilakukan proses mapping dari file IDL ke file unit (*.pas), perlu dilakukan inisialisasi, yaitu proses binding terhadap CORBA server biro_administrasi dan CORBA server jurusan (segmen program 3.13).

Segmen Program 3.13. Inisialisasi object.

OTeknis := TteknisHelper.Bind('IDL:biro_administrasi/teknis:1.0');

OAkademik := TakademikHelper.Bind('IDL:jurusan/akademik:1.0');

Gambar

Gambar 3.1. Context diagram dari sistem administrasi akademik
Gambar 3.2. DFD level 1 dari sistem administrasi akademik
Gambar 3.3. DFD level 2 dari proses registrasi mata kuliah baru
Gambar 3.4. DFD level 2 dari proses pendaftaran mata kuliah
+7

Referensi

Dokumen terkait

Administrasi adalah proses pencatatan setiap kegiatan yang dilaksanakan oleh pihak Pelaksana Pekerjaan. Pencatatan dilakukan pada formulir – formulir yang telah

Berdasarkan hasil analisis dari penelitian yang dilakukan, maka dapat disimpulkan bahwa work family conflict berpengaruh negatif terhadap kepuasan kerja pada karyawan

Maka Kebijakan, Rencana, Program yang dapat diidentifikasi menimbulkan dampak lingkungan yang dapat ditelaah untuk urusan Koperasi dan UMKM adalah berkaitan dengan Misi

1. Secara simultan seluruh variabel harga spot emas periode sebelumnya, indeks dolar AS, indeks saham AS, suku bunga AS, dan IHK/CPI AS berpengaruh signifikan terhadap

Lapian, (Jakarta: PT. 12 Baha’uddin, “Perubahan dan Keberlanjutan: Pelayanan Kesehatan Swasta di Jawa Sejak Kolonial sampai Pasca Kemerdekaan”, Kota-kota di Jawa.. Pembangunan

Mahasiswa dapat memahami Pengertian Ushul Fiqh, Fiqh dan bisa membedakan anatar fiqh dengan ushul fih serta memahami metode pembelajaran fiqh dalam islam.. Menyimak

Untuk hadiah yang sangat berharga tinggi yang Duli Yang Maha Mulia Paduka Raja telah kirimkan dengan senang hati, bersama ini Gubernur-Jenderal dan anggota Dewan Hindia

Data primer dalam penelitian ini adalah isi teks cerbung Ngonceki Impen karya Sri Sugiyanto berdasarkan unsur-unsur struktural yang meliputi fakta- fakta