• Tidak ada hasil yang ditemukan

Database Menggunakan ADOCE

N/A
N/A
Protected

Academic year: 2021

Membagikan "Database Menggunakan ADOCE"

Copied!
15
0
0

Teks penuh

(1)

Halaman 48 Database Menggunakan ADOCE

Database Menggunakan ADOCE

Objektif :

Memahami ADOCE & Database Pada Pocket PC

Mengaplikasikan Penggunaan Database Pada Aplikasi Pocket PC Memahami Penggunaan Perintah SQL

5.1. Mengenal ADOCE

Microsoft ActiveX Data Object for Windows CE (kemudian disingkat ADOCE) adalah sebuah kontrol pada Embedded Visual Basic yang fungsinya adalah untuk menghubungkan aplikasi dengan sebuah sumber data (yang selanjutnya kita sebut database). Dengan menggunakan ADOCE ini kita dimungkinkan untuk menciptakan suatu koneksi pada sebuah Pocket PC database, lalu membuat dan memodifikasi database tersebut.

Koneksi atau perubahan database dilakukan dengan cara menciptakan suatu variabel object yang mewakili kontrol ADOCE yang kemudian akan dipanggil fungsi-fungsi dan prosedur-prosedur untuk melaksanakan pekerjaannya. Fungsi dan prosedur yang terdapat pada ADOCE memiliki syntax yang kurang lebih sama dengan ADO yang biasa digunakan dalam pembuatan program Desktop PC.

Secara default terdapat dua jenis object yang dimiliki oleh ADOCE, yaitu Connection dan Recordset dimana kedua object tersebut dapat membuat suatu koneksi antara aplikasi yang akan dibuat dengan sumber data. Object Connection digunakan untuk menjalankan perintah yang diharapkan tidak mengembalikan data. Sedangkan object Recordset digunakan untuk menjalankan perintah y ang dapat mengembalikan data untuk memodifikasi isi database yang telah dikoneksikan tersebut, baik itu menyangkut table, field maupun masing-masing recordset.

Secara default, Microsoft Embedded Visual Basic mengikut sertakan ADOCE versi 3.0, tapi file yang membuat ADOCE ini berjalan belum tentu sudah terdapat pada Pocket PC device. Sehingga, apabila seorang programmer membuat aplikasi yang menggunakan kontrol

(2)

Database Menggunakan ADOCE Halaman 49

ADOCE, terdapat 9 file yang harus disertakan untuk mengaktifkan kontrol ADOCE. Cara yang paling mudah agar aplikasi yang mengandung kontrol ADOCE dapat berjalan dengan lancar adalah dengan membuat paket instalasinya, dan mengikut sertakan kontrol ADOCE dalam paket instalasi tersebut, sehingga ketika proses instalasi dilakukan, maka file utama ADOCE akan di-copy dan diregistrasikan secara otomatis. Sembilan file tersebut adalah, Adoce30.dll, Adocedb30.dll, Adoceoledb30.dll, Adosync.dll, Fileosp.dll, Msdadc.dll, Msdaer.dll, Msdaeren.dll dan Msdaosp.dll.

Pada ADOCE versi 3.0 kita dimungkinkan mengakses data dengan menggunakan perintah SQL dan memungkinkan juga mengakses data menggunakan provider OLE DB. Selain itu ADOCE versi 3.0 juga memiliki beberapa object tambahan yang hampir sama digunakan oleh ADO yaitu Field, Fields, dan Error selain yang dimiliki oleh ADOCE secara default Connection dan Recordset.

Cara menggunakan ADOCE pada Micorosft Embedded Visual Basic adalah : • Pilih menu Project lalu References.

• Pada dialog box References, pilih Microsoft CE ADO Control 3.0. • Tekan OK.

(3)

Halaman 50 Database Menggunakan ADOCE

Untuk membuat sebuah variabel merujuk pada kontrol ADOCE 3.0, caranya adalah seperti berikut ini :

Dim objConnection Dim objRecordset

Set objConnection = CreateObject("ADOCE.Connection.3.0") Set objRecordset = CreateObject("ADOCE.Recordset.3.0")

Kedua object diatas tersebut dapat dibuat sendiri-sendiri atau secara bersamaan sesuai dengan kebutuhannya.

5.2. Database Pada Pocket PC

Lain halnya dengan database yang digunakan pada Desktop PC, database yang digunakan pada Pocket PC adalah database dengan ekstension *.cdb. Database dengan ekstension *.cdb tersebut merupakan database yang dapat dibaca dan dimanipulasi oleh ADOCE.

Database dengan ekstension *.cdb dibuat dengan melakukan proses konversi yang dapat dilakukan oleh program Microsoft ActiveSync atau dengan menggunakan program pihak ketiga. Sumber datanya bisa berasal dari database Microsoft Access (*.mdb) atau bisa juga berasal dari Open Database Connectivity (ODBC). Karena tingkat kekuatan (robust) database Pocket PC lebih rendah dibandingkan database Micorosft Access atau ODBC, maka kadang-kadang terdapat kehilangan informasi (bukan data) pada proses konversi tersebut.

Proses pengkonversian data akan gagal dilakukan bila : • Semua tipe data pada field tidak didukung oleh tipe data *.cdb.

• Terdapat table dengan nama sama dengan table sistem (nama MSYS).

Berikut ini merupakan tipe data yang didukung oleh *.cdb dan tipe data hasil konversi dari Microsoft Access atau ODBC.

MDB ODBC CDB

Text sql_varchar Varchar

Memo sql_longvarchar Text

LongInt sql_integer Integer

sql_bigint Integer

Byte sql_tinyint Smallint

Int sql_smallint Smallint

Single sql_real Double

(4)

Database Menggunakan ADOCE Halaman 51

sql_float Double

ReplID sql_varbinary Varbinary

Date/Time sql_timestamp Datetime

Currency sql_numeric Double

AutoNumber sql_integer Integer

YesNo sql_bit Boolean

OleObject sql_longvarbinary Varbinary HyperLink sql_longvarchar Text

Lookup sql_varchar Varchar

Pocket PC juga memiliki database internal yang menyimpan data-data mengenai sistem operasi, program-program dan lain-lain yang dibutuhkan untuk melaksanakan pekerjaannya. Apabila dalam pembuatan koneksi menggunakan Object Recordset dan kita tidak menyebutkan nama database *.cdb yang akan dibuka, maka secara otomatis kita disambungkan pada database internal tersebut. Pada database internal tersebut, kita juga dapat membuat table, fields dan lain-lain sama halnya pada database *.cdb.

5.3. Mengkoneksikan Database

Sebelum kita menggunakan sebuah database untuk dibuka atau dimanipulasi datanya, kita harus membuat suatu koneksi dengan file database tersebut. Koneksi tersebut diwakili oleh sebuah variabel yang difungsikan dengan menggunakan pernyataan Set dan CreateObject, caranya adalah seperti berikut ini :

Dim connDatabase

Set connDatabase = CreateObject(“ADOCE.Connection.3.0”)

Setelah object koneksi itu dibuat, file database *.cdb dibuka dengan menggunakan metode Open.

Bentuk umumnya adalah sebagai berikut :

connection.Open [ConnectionString As String], [UserID As String], [Password As String]

Keterangan :

ConnectionString

ConnectionString ini merupakan string informasi proses pembukaan database, bisa juga hanya diisi sumber datanya (data source).

(5)

Halaman 52 Database Menggunakan ADOCE

UserID yang digunakan untuk proses verifikasi sumber data.

Password

Passwod yang digunakan untuk proses verifikasi sumber data.

Berikut ini merupakan beberapa metode lainnya yang terdapat pada object Connection : • EXECUTE

Metode ini digunakan untuk mengeksekusikan perintah SQL yang mengembalikan hasil berupa data. Misalnya digunakan untuk pembuatan table baru, penghapusan table dan lain sebagainya

B.U :

connection.Execute [CommandText], [RecordsAffected]

Keterangan :

CommandText

Perintah yang akan diberlakukan.

RecordsAffected

Tempat perintah diberlakukan.

• CLOSE

Metode ini digunakan untuk menutup koneksi yang telah selesai digunakan. B.U :

connection.Close

Contoh untuk membuka database MyDatabase.cdb :

connDatabase.Open “data source = \MyDatabase.cdb”

atau

connDatabase.Open “MyDatabase.cdb”

Sedangkan, untuk membuka database SQL Server CE edition, caranya adalah :

connDatabase.Open "Provider = SQLOLEDB; Data Source = DATBTEST; Initial Catalog = TEST; User Id = sa; Password =;"

(6)

Database Menggunakan ADOCE Halaman 53

Perlu diingat bahwa connection string pada metode open diatas tidak bisa langsung membuka table, baik table pada database *.cdb maupun table pada database internal Pocket PC. Aktifitas yang menyangkut table dilakukan pada metode Execute setelah database tujuannya dibuka pada metode Open, itupun sebatas pada perintah DDL (Data Definition Languange). Contoh :

connDatabase.Execute "CREATE TABLE tableBaru(fieldsatu TEXT, fielddua INTEGER)"

Apabila koneksi yang telah dibuat itu tidak digunakan lagi, untuk menghemat memori dan menghindari terjadinya kesalahan pada penggunaan variabel yang sama, maka sebaiknya koneksi tersebut ditutup dengan menggunakan metode Close.

connDatabase.Close

Set connDatabase = Nothing

5.4. Bekerja Dengan Recordset

Segala pekerjaan yang menyangkut pada table dilaksanakan pada object Recordset. Caranya adalah dengan membuat koneksi ke Recordset dengan menggunakan variabel yang mewakili object ADOCE.Recordset.

Dim connRecordset

Set connRecordset = CreateObject(“ADOCE.Recordset.3.0”)

Untuk membuka table agar dapat dimanipulasi datanya, metode yang digunakan adalah Open.

connRecordset.Open App.path & "\myTable.cdb"

Pada metode Open tersebut juga dapat digunakan perintah SQL untuk proses manipulasi data lebih lanjut.

Bentuk umumnya adalah sebagai berikut :

recordset.Open Source, [ActiveConnection], [CursorType], [LockType], [Options]

(7)

Halaman 54 Database Menggunakan ADOCE

Keterangan :

Source

Nama table yang akan dibuka, atau perintah SQL yang digunakan untuk melakukan proses pada database.

ActiveConnection

File database (*.cdb) atau database internal yang akan dibuka.

CursorType

Tipe kursor yang akan digunakan dalam proses pengambilan data pada database.

Konstanta Nilai Keterangan

adOpenForwardOnly 0 Hanya memperbolehkan proses pembacaan data record dengan pergerakan kursor maju.

adOpenKeyset 1 Hanya memperbolehkan proses pembacaan data record dengan arah pergerakan kursor yang tidak bisa ditentukan oleh kita.

adOpenDynamic 2 Kursor dinamis, yang memperbolehkan penambahan, penghapusan dan perubahan data record.

adOpenStatic 3 Kursor statis, yang hanya digunakan untuk membaca data. Fungsi lainnya tidak diperbolehkan.

LockType

Tipe proses penguncian data yang akan digunakan pada database.

Konstanta Nilai keterangan

adLockReadOnly 1 Hanya boleh membaca.

adLockPessimistic 2 Proses penguncian data dilakukan pada setiap record. Sehingga setiap perubahan yang dilakukan langsung terekam pada database. Pada mode ini kita bisa menambah, menghapus atau membuat record.

adLockOptimistic 3 Proses penguncian data dilakukan apabila metode Update dipanggil. Pada mode ini kita bisa menambah, menghapus atau membuat record.

Options

Menentukan proses pembacaan source oleh recordset, apakah berupa query SQL atau hanya nama table atau lain sebagainya.

(8)

Database Menggunakan ADOCE Halaman 55

Konstanta Nilai Keterangan

adCmdText 1 Menyatakan parameter Source sebagai perintah SQL.

adCmdTable 2 Menyatakan parameter Source sebagai nama table sistem system MsysTables.

adCmdStoredProc 4 Menyatakan parameter Source sebagai sebuah prosedur pada table sistem MsysProcs.

adCmdUnknown 8 Default. Menyatakan parameter Source sebagai nilai yang tidak diketahui jenisnya.

Berikut ini merupakan beberapa metode lainnya yang terdapat pada object recordset : • ADDNEW

Metode ini digunakan untuk menambahkan record baru pada database. B.U :

Recordset.AddNew [Fields], [Values]

Keterangan :

Fields

Nama field tempat data baru tersebut diberlakukan.

Values

Data yang akan ditambahkan.

• CLOSE

Metode ini digunakan untuk menutup recordset yang telah selesai digunakan. B.U :

Recordset.Close

• DELETE

Metode ini digunakan untuk menghapus record pada kursor yang sedang aktif. B.U :

Recordset.Delete

• MOVE

(9)

Halaman 56 Database Menggunakan ADOCE

B.U :

Recordset.Move NumRecords, [Starts]

Keterangan :

NumRecords

Jumlah perpindahan record.

Starts

Nilai awal prmberlakuan metode ini. 0 untuk record saat ini, 1 untuk record pertama dan 2 untuk record terakhir.

• MOVEFIRST

Metode ini digunakan untuk memindahkan kursor pada record pertama. B.U :

Recordset.MoveFirst

• MOVELAST

Metode ini digunakan untuk memindahkan kursor pada record terakhir. B.U :

Recordset.MoveLast

• MOVENEXT

Metode ini digunakan untuk memindahkan kursor pada record berikutnya. B.U :

Recordset.MoveNext

• MOVEPREVIOUS

Metode ini digunakan untuk memindahkan kursor pada record sebelumnya. B.U :

Recordset.MovePrevious

• UPDATE

(10)

Database Menggunakan ADOCE Halaman 57

B.U :

Recordset.Update [Fields], [Values]

Keterangan :

Fields

Nama field tempat data baru tersebut diberlakukan.

Values

Data yang akan ditambahkan.

Berikut ini merupakan contoh proses pemanggilan data table :

connRecordset.Open App.path & “\tableBaru”

Sedangkan contoh proses pengambilan data table dengan menggunakan perintah SQL adalah sebagai berikut :

connRecordset.Open “SELECT * FROM tableBaru”

Karena parameter ActiveConnection diatas tidak diisi maka metode Open diatas berlaku pada database internal Pocket PC, lain halnya bila ActiveConnection diatas diisikan seperti contoh berikut ini :

connRecordset.Open “SELECT * FROM tableBaru”, “myDatabase.cdb”

Maka perintah SQL tersebut berlaku pada database “myDatabase.cdb”

Sama halnya dengan object Connection, apabila koneksi ke Recordset tersebut telah selesai digunakan, maka sebaiknya koneksi tersebut ditutup dengan menggunakan metode Close.

connRecordset.Close

Set connRecordset = Nothing

5.5. Manipulasi Data

Manipulasi data (kemudian disebut record) yang dimaksud disini adalah termasuk proses pembacaan record, perubahan nilai record, penghapusan atau pembuatan record baru. Sebelum sebuah record dilakukan proses manipulasi, table tempat record tersebut disimpan

(11)

Halaman 58 Database Menggunakan ADOCE

harus dibuka terlebih dahulu dengan melakukan proses pemanggilan recordset (recordset query). Proses pemanggilan recordset tersebut dapat dilakukan secara utuh (tanpa dilakukan filtering) maupun dengan proses filtering dengan syarat-syarat sesuai keinginan kita. Karena object recordset diimplementasikan melalui sebuah variabel, maka setelah proses pemanggilan data tersebut dilakukan, data yang berhasil dipanggil akan tersimpan pada variabel object tersebut. Melalui variabel object recordset tersebut juga dapat diimplementasikan metode-metode lain yang memungkinkan dilakukan perubahan nilai, penghapusan atau pembuatan recordset baru.

Untuk sekedar menampilkannya, kita tentunya membutuhkan sebuah control pada Embedded Visual Basic tempat nilai record tersebut akan ditulis. Agar lebih sedap dipandang, kontrol yang biasa digunakan adalah ListBox, ComboBox, ListView atau Grid walaupun tidak menutup kemungkinan record tersebut ditampilkan pada sebuah textBox, Label dan lain sebagainya yang memungkinkan sebuah text ditulis.

Berikut ini merupakan contoh kode program untuk menampilkan record : Kode Program 4.1

1. Dim objRecordset

2. Set objRecordset= CreateObject("ADOCE.Recordset.3.0")

3. objRecordset.Open "dataTeman", App.path & "\BukuTelepon.cdb ", adOpenKeyset, adLockOptimistic

4. If objRecordset.RecordCount > 0 Then

5. Do While Not objRecordset.EOF

6. List1.Additem objRecordset.Fields("nama").Value

7. objRecordset.MoveNext

8. Loop

9. End If

10. objRecordset.Close

11. set objRecordset = Nothing

Pada kode program diatas, file database yang dibuka adalah BukuTelepon.cdb. App.Path pada baris 3 diatas maksudnya adalah bahwa lokasi file BukuTelepon.cdb tersebut berada dalam satu direktori dengan aplikasinya. Setelah field “dataTeman” dibuka (baris 3), program akan mencari apakah jumlah record didalamnya lebih dari nol, artinya apakah ada data, jika ya maka program akan menjalankan perulangan dibawahnya (baris 5-8). Proses perulangan tersebut berisi penulisan record pada field “nama” pada kontrol List1 (ListBox).

(12)

Database Menggunakan ADOCE Halaman 59

objRecordset.MoveNext digunakan untk menggerakkan kursor pada posisi berikutnya, sehingga proses looping bekerja dengan normal karena kursor terus bergerak. Perulangan tersebut akan berhenti apabila telah sampai pada akhir record (objRecordset.EOF).

Apabila ingin menggunakan perintah SQL untuk proses pengambilan data yang lebih kompleks, maka kita tinggal merubah nama table “dataTeman” pada objRecordset.Open menjadi perintah SQL tersebut. Contoh :

objRecordset.Open "SELECT * FROM namaTeman WHERE nama LIKE %indra%", App.path & "\BukuTelepon.cdb ", adOpenKeyset, adLockOptimistic

Untuk proses perubahan nilai record, tipe pemanggilan recordset harus diatur sedemikian rupa sehingga kita diberi hak akses untuk melakukan perubahan (tidak hanya baca / read-only). Dengan proses pemanggilan recordset biasa sama seperti diatas, kita kemudian cukup menempatkan kursor pada record yang akan kita rubah dengan menggunakan metode Move. Untuk menentukan lokasi kursor dengan tepat, dapat dilakukan dengan menggunakan perintah SQL atau dengan proses pencarian yang dibuat pada kode program. Apabila lokasi kursornya sudah tepat, proses perubahan nilai cukup dilakukan dengan mengisi masing-masing field tersebut dengan nilai baru. Kemudian, nilai record yang telah diubah tersebut disimpan dengan menggunakan metode Update. Nilai record tersebut akan dirubah dengan cara menindihkan nilai record baru atas record yang lama. Berikut ini merupakan contoh programnya :

Kode Program 4.2

1. Dim objRecordset

2. Set objRecordset = CreateObject("ADOCE.Recordset.3.0")

3. objRecordset.Open "SELECT * FROM dataTeman WHERE id=15", App.Path & “\BukuTelepon.cdb” adOpenDynamic, adLockOptimistic, adCmdUnknown 4. If objRecordset.RecordCount > 0 Then

5. objRecordset.Fields(“nama”) = “Indra Nugraha”

6. objRecordset.Fields(“alamat”) = “Jl. Kelapa Tiga No. 18 Jakarta”

7. objRecordset.Update

8. End If

9. objRecordset.Close

(13)

Halaman 60 Database Menggunakan ADOCE

Karena pada proses ini terjadi perubahan data (tidak hanya baca / read-only), maka parameter metode Open pada objRecordset diberi nilai adOpenDynamic, dan adLockOptimistic (baris 3). Proses perubahan data dilakukan dengan cara seperti berikut ini :

objRecordset.Fields(“nama”) = “Indra Nugraha”

objRecordset.Fields(“alamat”) = “Jl. Kelapa Tiga No. 18 Jakarta”

Setelah semua data selesai diubah, jangan lupa disimpan dengan menjalankan metode Update. Pada kondisi diatas, karena proses filtering dilakukan dengan menggunakan perintah SQL, maka kursor-pun akan langsung berada pada posisi sesuai dengan hasil pengembalian perintah SQL yang diberlakukan tersebut. Dalam hal ini kursor akan bergerak pada posisi bila nilai record “id” sama dengan 15.

Proses pemanipulasian data lainnya yang paling sering digunakan adalah, penambahan record. Pada proses penambahan ini digunakan metode AddNew. Dimana, pada metode ini, akan disiapkan sebuah record baru yang kosong pada setiap fieldnya yang siap diisikan nilai. Setelah nilai recordnya diisi jangan lupa juga untuk menyimpannya dengan menggunakan metode Update. Untuk menentukan dimana kita akan menambahkan record baru tersebut, kita juga harus tetap melakukan pemindahan kursor ke tempat yang kita inginkan. Berikut ini merupakan contoh kode programnya :

Kode Program 4.3

1. Dim objRecordset

2. Set objRecordset= CreateObject("ADOCE.Recordset.3.0")

3. objRecordset.Open "SELECT * FROM dataTeman", App.Path & “\BukuTelepon.cdb” adOpenDynamic, adLockOptimistic, adCmdUnknown

4. objRecordset.MoveLast

5. objRecordset.AddNew

6. objRecordset.Fields(“nama”) = “Indri Ramadia”

7. objRecordset.Fields(“alamat”) = “Jl. R.E Martadinata Kuningan”

8. objRecordset.Update

9. End If

10. objRecordset.Close

11. set objRecordset = Nothing

Pada kode program diatas, proses penambahan record baru dilakukan setelah record terakhir, ditandai dengan objRecordset.MoveLast (baris 4). Artinya posisi kursor dipindahkan pada lokasi terakhir, lalu dibuat record kosong baru untuk diisi.

(14)

Database Menggunakan ADOCE Halaman 61

Proses manipulasi data terakhir adalah penghapusan recordset. Pada proses penghapusan recordset, cukup dijalankan metode Delete. Metode ini diberlakukan pada lokasi kursor yang sedang aktif, sehingga proses pemindahan lokasi kursor tetap diperlukan untuk menentukan recordset mana yang akan dihapus.

5.6. Menggunakan Perintah SQL

Penggunaan ADOCE versi 3.0 memungkinkan kita untuk menggunakan perintah-perintah Structured Query Languange (SQL) dalam melakukan proses pembuatan, penghapusan atau perubahan data. Pada dasarnya perintah tersebut dibagi menjadi 2, yaitu Data Definition Languange (DDL) dan Data Manipulation Languange (DML). DDL digunakan untuk melakukan proses perubahan struktur database, misalnya membuat table baru, merubah tipe data yang akan digunakan, menghapus table dan sebagainya. Sedangkan DML digunakan untuk melakukan proses atas data record pada table yang diaplikasikan, misalnya membaca, merubah, menghapus, menyusun data dan sebagainya.

Data Manipulation Language Data Definition Language

SELECT – Join ALTER TABLE

SELECT – Like CREATE DATABASE

SELECT - Order By CREATE INDEX

SELECT – Projection CREATE TABLE

SELECT – Restricted DROP DATABASE

SELECT – Simple DROP INDEX

DROP TABLE

Perintah SQL ini digunakan pada metode Open pada kontrol Recordset.

rs.Open pSQL, "", adOpenKeyset, adLockOptimistic, adCmdText

Variabel pSQL diatas merupakan perintah-perintah SQL yang akan diterapkan.

Berikut ini merupakan contoh perintah-perintah SQL yang biasa digunakan beserta keterangannya :

“SELECT * FROM daftarTeman WHERE nama LIKE =’%Indra%’”

Memilih seluruh field dari table “daftarTeman” dimana field “nama” mengandung kata “Indra”.

(15)

Halaman 62 Database Menggunakan ADOCE

“SELECT id, nama, alamat, telp FROM daftarTeman WHERE prop =’DKI Jakarta’ AND umur > 22 ORDER BY id ASC”

Memilih field id, nama, alamat dan telp dari table “daftarTeman” dimana nilai field “prop” adalah (tepat) “DKI Jakarta” dan nilai field umur lebih besar dari 22, lalu ditampilkan dengan field “id” disusun berurut naik.

“CREATE TABLE stock (id INT, nama VARCHAR[25], jumlah INT, harga FLOAT)”

Membuat table baru dengan nama “stock”, dimana didalamnya terdapat field “id” bertipe integer, field “nama” bertipe VARCHAR[25] (karakter string dengan lebar 25), field “jumlah” bertipe integer dan field “harga” bertipe float.

“DROP TABLE daftarTeman”

Menghapus table dengan nama “daftarTeman” berikut isinya.

“DELETE daftarTeman WHERE nama=’Indri Ramadia’”

Menghapus record pada table “daftarTeman” dimana pada recordset tersebut field “nama” bernilai (tepat) “Indri Ramadia”.

Gambar

Gambar 5.1  Tampilan References Window

Referensi

Dokumen terkait

Papilitis adalah pembengkakan diskus yang disebabkan oleh peradangan lokal di nervus saraf optik dan dapat terlihat dengan pemeriksaan funduskopi.. Tipe lokal di

Sebagai lembaga pendidikan modern, madrasah dewasa ini memiliki visi dan misi baru yang lebih modernis daripada era awal kelahirannya, tidak hanya menyiapkan peserta didik

Sebagai bentuk ketidakpuasan terhadap kinerja PSSI—yang selama delapan tahun masa kepengurusan Nurdin Halid tidak menghasilkan prestasi di tingkat internasional—kompetisi yang

daya manusia khususnya orang asli Kabupaten Jayapura namun dalam implementasi kebijakan tersebut, masih belum mencapai titik sasaran karena bersifat sporadik dan

$ala elaksanakan kegiatan layanan sesuai $engan (enis layanan yang akan $ibe!ikan..

2 Menguji kebenaran perhitungan tagihan atas beban APBN yang tercantum dalam perintah pembayaran; 3 Menguji ketersediaan dana dalam DIPA pada Kegiatan dan MAK yang ditunjuk dalam

Berdasarkan uraian yang telah dijelaskan sebelumnya, maka dapat disimpulkan bahwa bahan ajar berupa buku siswa menggunakan konteks bahan bakar minyak dengan pendekatan

Gunakan bahan yang tidak mudah terbakar seperti vermikulit, pasir atau tanah untuk menyerap produk ini dan.. tempatkan dalam kontainer untuk