Rabu, 25 November 2015

Materi Sistem Basis Data


Perbedaan Basis Data dan sistem basis data

-          Basis data adalah kumpulan terorganisasi dari data – data yang saling berhubungan sedemikian rupa sehingga dapat mudah disimpan, dimanipulasi, serta dipanggil oleh penggunanya. Definisi Basis data juga dapat diartikan sebagai kumpulan data yang terdiri dari satu atau lebih tabel yang terintegrasi satu sama lain, dimana setiap user diberi wewenang untuk dapat mengakses ( seperti mengubah,menghapus dll.) data dalam tabel-tabel tersebut.
-          Sistem Basis Data adalah sistem yang terdiri dari koleksi data atau kumpulan data yang saling berhubungan dan program-program untuk mengakses data tersebut

Tujuan pada Basis data :
  • Kecepatan serta kemudahan dalam menyimpan, memanipulasi atau juga menampilkan kembali data tersebut.
  • Efisiensinya ruang penyimpanan, karena dengan basis data, redudansi data akan bisa dihindari.
  • Keakuratan (Accuracy) data.
  • Ketersediaan (Availability) data.
  • Kelengkapan (Completeness) data, Bisa melakukan perubahan struktur dalam basis data, baik dalam penambahan objek baru (tabel) atau dengan penambahan field-field baru pada table.
  • Keamanan (Security) data, dapat menentukan pemakai yang boleh menggunakan basis data beserta objek-objek yang ada didalamnya serta menentukan jenis -jenis operasi apa saja yang boleh dilakukannya.
  • Kebersamaan Pemakai (Sharability), Pemakai basis data bisa lebih dari satu orang, tetapi tetap menjaga atau menghindari masalah baru seperti: inkonsistensi data (karana data yang sama diubah oleh banyak pemakai pada saat yang bersamaan) dan juga kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data tersebut.
Sedangkan Tujuan Sistem Basis Data dalam mengatasi masalah-masalah pemrosesan data yang sering ditemui dengan menggunakan metode konvensional, permasalah yang diatasi diantaranya:
  • Redudansi data dan juga inkonsistensi data.
  • Kesuliatan dalam pengaksesan data.
  • Data Isolation.
  • Konkurensi pengaksesan.
  • Masalah keamanan.
  • Masalah Integritas.

Adapula komponen yang dimiliki oleh Sistem Basis Data yaitu :
  • Perangkat Keras (Hardware)
  • Sistem Operasi (Operating Sistem)
  • Basis data (Database)
  • Sistem Pengelola Basis Data (Database Management Sistem atau disingkat DBMS)
  • Yaitu pengelola basis data secara fisik tidak dilakukan oleh pemakai secara langsung, akan tetapi ditangani oleh sebuah perangkat lunak yang khusus. Perangkat Lunak inilah yang disebut DBMS (Database Management Sistem) yang akan menentukan bagaimana data diorganisasi, disimpan, diubah serta diambil kembali. Perangkat Lunak ini juga yang menerapkan mekanisme pengamanan data, pemakaian data secara bersama-sama, konsistensi data dan sebagainya.
  • Pemakai (User).
  • Aplikasi atau Perangkat Lunak yang lainnya.
  • Tujuan Utama Sistem Basis Data sendiri adalah :
  • Menunjukkan suatu lingkungan yang tepat dan efisien didalam melakukan pengambilan (retrieving) dan penyimpanan (storing) informasi basis data, serta menyediakan antarmuka yang lebih ramah kepada user dalam melihat data.
Pemakai sistem basis data diantaranya:
  • Programmer Aplikasi yaitu orang atau pemakai yang berinteraksi dengan basis data melalui Data Manipulation Language (DML),
  • User Mahir (Casual User) yaitu pemakai yang berinteraksi dengan sistem tanpa menulis modul program. Mereka menyatakan query untuk mengakses data dengan bahasa query yang telah disediakan oleh suatu DBMS.
  • User Umum (End User/ Naïve User) yaitu Pemakai yang berinteraksi dengan sistem basis data melalui pemanggilan satu program aplikasi permanen (executable program) yang telah disediakan sebelumnya.
User Khusus (Specialized User) yaitu Pemakai yang menulis aplikasi basis data non konvensional, tetapi untuk keperluan-keperluan khusus.
Perbedaan dari Basis data dan Sistem basis data ialah dari segi sistem yang dimiliki, Basis data merujuk kepada sekumpulan data yang saling berhubungan sedangkan sistem basis data ialah sistem atau satu kesatuan komponen yang dapat mengolah data yaitu basis data.

2. Integritas data
Pengertian integritas data secara luas mengacu pada kepercayaan dari sumber daya suatu sistem. Integritas data sangat penting karena dapat memastikan keakuratan, konsistensi, aksesibilitasi, dan kualitas tinggi dari sebuah data, sehingga sangat penting untuk mengikuti aturan pengintegritasan suatu data. Data yang mempunyai integritas identik di pertahankan selama operasi apapun (seperti bisnis transfer, penyimpanan, atau pengambilan). Secara sederhana dalam istilah bisnis, integritas data adalah jaminan bahwa data konsisten, bersertifikat dan dapat dirujukan.
Integritas Data dapat Di kelompokan menjadi 2 bagian :
1. Integritas data yang berada dalam relasi, yaitu integritas entitas dan integritas domain.
2. Integritas yang berada di luar relasi, yaitu integritas referensial

Selain itu ada juga integritas yang ditentukan sendiri di dalam suatu perusahaan, yaitu integritas perusahaan (Enterprise integrity/ user Defined Integrity).
Secara garis besar integritas data dalam model relasional meliputi :
1. Integritas Entitas
2. Integritas Domain
3. Integritas Referensial
4. Integritas Enterprise

INTEGRITAS ENTITAS
Integritas entitas mendifinisikan sebuah baris sebagai sebuah entitas yang unik untuk suatu tabel. Dalam integritas entitas, tidak ada baris yang di duplikat didalam suatu tabel.
Contoh :
INEGRITAS DOMAIN
Domain adalah nilai-nilai yang dimungkinkan diasosiasikan dengan setiap atribut, Integritas domain merupakan validasi masukan dari sebuah kolom. Dengan integritas domain, tidak ada data yang melanggar jangkauan nilai di tiap kolom data.
Jenis domain yang harus dimiliki oleh setiap atribut :
1. Karakter bebas
2. Alphanumerik
3. Alphabet
4. Numerik
Pemeliharaan integritas domain :
1. Pendifinisian skema
2. Pemanfaatan properti field
3. Penerapan proses validasi pada pemasukan data






Contoh :
INTEGRITAS REFERENSIAL
Integritas referensial adalah dasar relasi antar tabel yaitu antara foregin key dengan promary key. Integritas referensial memastikan bahwa seluruh nilai dari foregin key cocok dengan nilai primary key yang dihubungkanya.
Contoh :
INTEGRITAS ENTERPRISE
Integritas enterprise mengizinkan kita untuk menentukan spesifik business rules sendiri yang tidak sama pada kategori integritas yang lainnya.

Transaksi dan Concurency
Transaksi adalah unit eksekusi program yang mengakses dan mungkin mengubah beberapa item data. Dalam Konsep transaksi di database harus di penuhi empat sifat database agar integritas database tetap terjaga. Adapun keempat sifat tersebut adalah:

Atomicity:
Setiap transaksi harus dijamin untuk dapat sukses dalam melakukan aksinya atau jika gagal , maka tidak berpengaruh apapun terhadap database.

Consistency:
Setiap transaksi adalah sebuah aksi kombinasi secara logikal dari sebuah state database yang
konsisten ke state yang lain dengan tetap menjaga kekonsisten-an database tersebut.

Isolation:
Meskipun ada beberapa transaksi yang berlangsung bersamaan, masing-masing transaksi tidak boleh mengetahui transaksi lain yang sedang berlangsung. Hasil transaksi sementara harus disembunyikan dari transaksi lain yang sedang berlangsung . (level transparansi transaksi dapat di set).
Durability:
Setelah sebuah transaksi sukses dilakukan, perubahan-perubahan yang dibuatnya terhadap database bersifat permanen, bahkan jika terjadi kegagalan sistem sekalipun.

Data Consistency:
Berarti bahwa user melihat data yang terdapat di database konsisten baik itu data yang telah di rubah olehnya sendiri maupun oleh user yang lain. Pada umumnya, basis data menerapkan beberapa bentuk data locking untuk menangani masalah yang berkaitan dengan concurrency, consistency dan integrity. Locks merupakan mekanisme yang dapat menjaga interaksi destruktif di antara beberapa transaksi yang mengakses resource yang sama. Berkaitan dengan level isolasi yang ada ANSI / ISO standard SQL (SQL92) mendefinsikan 4 level isolasi . Level isolasi didefinisikan sebagai derajat transparansi transaksi antara satu user dengan user yang sama pada pengaksesan data yang sama.
 Ada fenomena – fenomena tertentu yang harus di cegah selama eksekusi transaksi yang konkuren . 3 Fenomena yang harus di cegah adalah :
1.      Dirty Reads :
Sebuah transaksi membaca data yang telah di tulis oleh transaksi yang lain tetapi belum di commit oleh transaksi lain tersebut.
2.      Non Repeatable Reads :
Sebuah transaksi yang membaca kembali sebuah data dimana data tersebut sudah di rubah / di hapus oleh transaksi lain dan telah di commit.
3.      Phantom Reads :
Sebuah transaksi menjalankan kembali sebuah query dimana akan menemukan bahwa ada transaksi lain yang telah memasukkan record baru ke schema yang sedang di akses oleh transaksi tersebut, sehingga akan terlihat antara query yang pertama di lakukan dengan query yang kedua memberikan hasil eksekusi jumlah row yang berbeda .
Oracle memberikan pilihan kepada usernya untuk memilih 2 mode isolasi , yaitu : read commited dan serializable . Untuk mode read only oracle bukan bagian dari SQL92 sehingga dari tabel di atas read only tidak masuk ke level isolasi yang di tawarkan oleh SQL92 tetapi ditawarkan oleh oracle . Berikut penjelasan 3 level yang di sediakan oleh oracle padapenggunanya :

- Read Commited, Read commited merupakan level isolasi default dari oracle. Setiap query yang dieksekusi oleh suatu transaksi membaca hanya data yang telah di-commit, sebelum query (bukan transaksi) dimulai.Karena Oracle tidak mencegah dari data yang sedang di read oleh sebuah query di modifikasi oleh query / transaksi yang lain , sehingga kemungkinan data telah di rubah oleh transaksi yang lain bisa saja terjadi antara 2 eksekusi dari query tersebut.

- Serializable, Transaksi serializable membaca hanya perubahan yang telah dicommit pada saat transaksi dimulai, ditambah perubahan yang dibuat oleh transaksi itu sendiri melalui statemen insert, update, dan delete.

- Read Only,Transaksi read-only membaca hanya perubahan yang telah di-commit saat transaksi dimulai dan tidak memperbolehkan statemen insert, update, dan delete.

Level yang tertinggi dari 3 pilihan tersebut adalah ”serializable”. Hal ini di karenakan level ini memberikan level isolasi yang terbaik ketika banyak user mengakses data yang sama . Konsep serializable nampak sebagai sebuah urutan eksekusi secara serial , terurut berdasarkan transaksi yang terjadi. Cara mensetting level isolasi di oracle : (pilih salah satu) Ada 2 metode dalam mengeset level isolasi di oracle , yaitu :

- Pada level Transaksi (pada level ini hanya untuk mengeset sebuah transaksi)
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
SET TRANSACTION READ ONLY;

- Pada level Session (pada level ini akan berlaku pada seluruh transaksi yang dilakukan dan subsequent dari transaksi yang terjadi)
ALTER SESSION SET ISOLATION_LEVEL = READ COMMITTED
ALTER SESSION SET ISOLATION_LEVEL = SERIALIZABLE;

Dalam mengatur agar dalam pengaksesan resource data yang sama tidak saling terjadi interferensi .. maka oracle memberikan konsep locking . Oracle secara otomatis menentukan lock yang perlu saat mengeksekusi
SQL statement . Namun Oracle juga memperbolehkan user untuk mengeset lock sendiri secara manual.

 Ada 2 Mode lock yang terdapat pada oracle yaitu :
- Exclusive Mode, Mencegah resource yang sedang di pakai untuk di share . Mode lock ini di peroleh ketika akan memodifikasi data . Transaksi yang sudah me-lock data secara exclusive adalah transaksi yang berhak pula untuk melepaskan lock tersebut untuk kemudian di gunakan oleh transaksi yang lainnya .
- Share Mode, Mengijinkan resource yang berhubungan untuk di share , tergantung dari operasi yang terlibat di dalamnya . Multiple users yang sedang membaca data dapat men-share data tersebut , memegang lock dengan tipe share lcok untuk mencegah akses data secara concurrent oleh writer (seseorang yang membutuhkan exclusive lock). Beberapa transaksi mungkin akan membutuhkan share lock pada penggunaan resource yang sama .

Concurrency adalah banyaknya transaksi yang dijalankan secara bersamaan dalam satu waktu.
Hampir semua DBMS adalah multiuser, sehingga berpeluang terjadinya inkonsistensi basis data. Maka perlu adanya pengendalian persaingan eksekusi transaksi (concurrency control).





Back-End Programming

Back-End programming adalah program yang berjalan pada database secara otomatis ketika terjadi suatu pemicu tertentu. Dalam oracle ada beberapa metode untuk melakukan back-end programming, yaitu dengan trigger dan stored procedure.

Trigger
Trigger adalah blok PL/SQL yang disimpan dalam database dan akan diaktivasi ketika kita melakukan statement-statement SQL (DELETE, UPDATE, dan INSERT) pada sebuah tabel. Aktivasi trigger didasarkan pada event yang terjadi di dalam tabel tersebut sehingga trigger dapat membantu dalam menjaga integritas dan konsistensi data. Implementasi trigger yang sering ditemui dalam dunia nyata adalah untuk mengeset dan mengubah nilai kolom dalam suatu tabel sehingga validasi nilai dari tabel tersebut akan terjaga. Adanya trigger dalam database akan meringankan kita dalam pembuatan aplikasi karena di dalam aplikasi yang kita buat, kita tidak perlu lagi untuk melakukan validasi data.
Berikut adalah daftar yang mungkin untuk aktivasi trigger :
Event
Keterangan
Before Insert
Diaktifkan sekali sebelum statement insert
After Insert
Diaktifkan sekali setelah statement insert
Before Update
Diaktifkan sekali sebelum statement update
After Update
Diaktifkan sekali setelah statement update
Before Delete
Diaktifkan sekali sebelum statement delete
After Delete
Diaktifkan sekali setelah statement delete

Model-model yang digunakan untuk menspesifikasi aturan basis data aktif adalah model ECA (Event-Condition-Action). Aturan dalam model ECA memiliki tiga komponen yaitu:
  • Event, yang memicu suatu rule tersebut biasanya berupa operasi perubahan basis data yang secara eksplisit ditambahkan ke basis data. Namun pada umumnya, bisa berupa event temporal atau jenis event eksternal yang lain.
  • Condition, menentukan apakah suatu rule dijalankan atau tidak. Ketika suatu trigger dijalankan, maka bagian condition (bersifat optional) akan dievaluasi jika didefinisikan oleh yang membuat trigger. Jika evaluasi bagian condition bernilai TRUE maka aksi suatu rule dijalankan.
  • Action, biasanya berupa statement sql.
Manfaat trigger antara lain adalah :
  • Membuat integrity constraint yang kompleks.
  • Mencatat aktivitas suatu tabel (logging).
  • Sinkronisasi
Contoh Kasus :
Pada database supermarket, jika ada pembelian baru maka otomatis stok barang pada tabel barang akan berkurang sesuai dengan jumlah barang yang dibeli. Maka sintaks lengkapnya dalam pl / sql adalah sebagai berikut :

Create table barang(
kode_barang varchar2(10) primary key,
nama varchar2(50),
stok_barang number
);
create table pembelian(
id_pembelian number primary key,
kode_barang varchar2(10),
constraint fk_kd_brg foreign_key (kode_barang) references barang(kode_barang)
jumlah_beli number,
harga number
);
create or replace trigger trg_stok_brg after insert on jumlah_beli for each row
begin
update barang set stok_barang =stok_barang – :new.jumlah_beli where id_pembelian = :new.id_pembelian;
end;
/

Stored Procedure
Subprogram adalah PL/SQL Blok yang dipanggil dengan sekumpulan parameter. PL/SQL memiliki dua jenis subprogram yaitu: procedure dan function. Dimana secara umum procedure digunakan untuk melaksanakan aksi dan function digunakan untuk komputasi suatu nilai.
Stored procedure adalah subprogram yang disimpan di dalam database berupa SQL + Bahasa prosedural. Ada beberapa kelebihan yang dapat diperoleh dengan menggunakan stored procedure, meliputi :
  • Dijalankan di database server -> performance lebih baik, network trafik lebih rendah.
  • Tools DBA -> praktis, selalu tersedia di database server.
  • Dapat digunakan oleh banyak aplikasi
    • Standarisasi business logic.
    • SP dapat dipanggil oleh aplikasi luar
  • Dapat memanfaatkan tipe, fungsi yang disediakan DBMS
  • Powerfull, tools sangat penting bagi DB designer, DB programmer dan DBA
  • Hampir semua RDBMS mensupport.
  • Walaupun syntax berbeda, umumnya menggunakan prinsip yang sama


XML
XML (eXtended Markup Language) adalah bahasa markup yang digunakan untuk menyimpan data (tidak ada program) dan tidak tergantung dengan tools tertentu (seperti editor, dbms, compiler, dsb). Jika demikian, Lalu digunakan untuk apa dokumen XML ini?
XML adalah merupakan suatu bahasa Markup. Markup yaitu bahasa yang berisikan kode-kode berupa tanda-tanda tertentu dengan aturan tertentu untuk memformat dokumen teks dengan tag sendiri agar dapat dimengerti.
Perbedaan antara XML dan HTML
Perlu di ingat bahwa:
XML bukan merupakan pengganti HTML.
XML dan HTML yang dirancang dengan tujuan yang berbeda:
XML dirancang untuk transportasi dan menyimpan data, dengan fokus pada apa data.
HTML dirancang untuk menampilkan data, dengan fokus pada bagaimana data terlihat.
HTML adalah tentang menampilkan informasi, sedangkan XML adalah membawa informasi tentang.
Keunggulan dari XML :
·         Dapat dibaca software dan manusia.
·         Flexible.
·         Independen terhadap bahasa pemrograman.
Dari beberapa keuntungan diatas masih terselip satu kerugian dari XML yaitu pengulangan Tag.


Senin, 23 November 2015

Role or Real #1


“udah lah flow galau terus lo” kata dinda setelah seharian melihat flow hanya termenung. Dinda adalah sahabatku sejak kelas 10 SMA, persahabatan kami dimulai sejak kami sering bertemu di angkutan kota dan akhirnya kami tersadar jika rumah kami berdekatan hanya terpisah beberapa blok. selain Dinda aku juga memiliki sahabat bernama Dita dan Mutia. Sama seperti Dinda, perkenalan dengan Dita dan Mutia karena seringnya kami pulang dengan angkutan kota sama.
Aku yang baru saja putus dengan salah satu cowo populer disekolahku, cowo itu bernama Rick, ya Irsyad van rigo entah dari mana nama panggilan Rick itu dia dapatkan, tetapi yang patut kalian ketahui Rick itu sangatlah tampan, dengan wajah sedikit bule karena papienya yang keturunan Belanda, Rick memiliki mata coklat yang indah, dia juga putih dan tinggi. Selain kesempurnaan pada penampilanya yang tampan dia juga memiliki kecerdasan diatas rata-rata, cita-cita Rick yang ingin menjadi sutradara dia buktikan dengan sederet prestasi yang dia dapatkan saat festival film pelajar nasional. Rick juga merupakan ketua MPK di sekolahku, itu yang membuat Rick semangkin terkenal, mulai dari kepala sekolah, para guru dan staff, siswa siswi di sekolahku maupun di sekolah lain, sampai office boy dan satpam serta pendagang di katin pun kenal Rick. Dan yang membuat aku paling bangga dengan rick adalah sifatnya dia yang soleh, walaupun dia keturunan Belanda dia tidak meninggalkan sholat, bahkan untuk sholat dhuha dan puasa senin kamis yang tidak diwajibkan dia tetap melaksanakannya dengan ihkhlas. Rick sosok yang sangat sempurna untukku.

              “Tapi gua sayang rick din, lo bayangin aja gua pacaran sama dia udah 20 bulan, lo tau kan 20 bulan itu bukan waktu yang sebentar? Semuanya udah gua rasain bareng sama dia mau seneng sedih susah udah din udah semuanya” aku semangkin terisak saat dinda menenangkan aku.
“Gua tau flow apa yang gua rasain gua paham banget, tapi kan lo nangis kaya gini gak akan merubah keadaan” sahut dinda sambil mengusap lembut pipiku.
            “Tapi ya gak masuk akal aja masa cuma karena gua mau ujian mesti putus?” Aku menangis semangkin kencang hampir berteriak.
          “Ya lo ambil positifnya aja flow, mungkin dia mau lo sukses UNnya dia mau lo dapet universitas yang lo idamin” Dita pun ikut berceloteh sambil mengusap punggungku.
             “Yaelah flow gua aja dari dulu single biasa aja, malah ini enaknya single bisa lebih fokus sama tujuan hidup, terus gak akan nih ngalamin yang namanya galau macem lo gini” mutia menceramahi.
             Mutia memang tidak pernah merasakan yang namannya jatuh cintandi kehidupannya bisa dibilang 80% dia gunakan untuk belajar.
             “Sssssttt udah udah jangan di ceramahin flownya kasian,kalian sebagai temen hibur dia kek biar dia lupa sama galaunya” kata dinda mencairan suasana.
            “Udah yuk flow kita ngeDDR aja gua yang traktir” kata dita sambil menarik tangan flow.
                                                            ***
 Aku berusaha untuk berdiri, mengumpulkan segenap usahaku dengan berpegangan pada tepi tempat tidurku, aku menatap ke luar melalui jendela kamarku. “Sudah hari ketiga gumam ku perlahan. Sejak aku di putuskan rick entah kenapa seperti hidup ku tidak sesemangat dulu, terasa hampa di setiap sudutnya.
          Terdengar ketukan pintu pelan dan diringi suara pintu di buka perlahan, aku refleks membalikan badanku.
“Non kamu belum makan loh sudah tiga hari malah, makan dulu non nanti non sakit bisa di marahi maminya non nanti” kata bu Dewi sambil perlahan masuk dengan membawa satu piring spaghetti dan satu gelas susu.
 “Ibu masakin spaggetti kesukaan non nih dengan double keju non pasti suka” lanjutnya sambil meletakan makanan tersebut di meja sebelah tempat tidur ku. Aku tidak bergeming untuk meresponnya aku hanya diam seribu bahasa, aku membalikan badanku dan kembali mentap keluar jendela. Karena aku tidak merespon bu Dewi, dia perlahan pergi untuk meninggalkan kamarku.
“Ibu…” ucapku memecahkan keheningan.
“iya non ada apa?” ibu Dewi menghentikan langkahnya dan menunggu responku selanjutnya.
“Mami semalam pulang? apa papi menelpon dan memberikan pesan untuk ku?”
“maminya non semalam pulang saat non sudah tertidur tidur, papi non belum memberikan kabar munkin sedang sibuk dengan tugasnya non”
      Ah.. seperti biasa mereka jarang sekali dirumah. Papiku yang merupakan karyawan swasta perusahaan konstruksi jepang membuatnya sangat sibuk. Banyak proyek yang dia kendalikan, di dalam maupun diluar negri. Ketika sedang bertugas di luar daerah atau di luar negri biasanya dia pulang setahun dua kali.Dengan jatah cuti yang hanya 12hari bisa kalian bayangkan bagaimana hubungan aku dan ayahku. Dan begitu juga dengan mami ku. Dia yang seorang business woman juga menyita waktunya. Sebagai seorang owner sebuah cafe di daerah Kemang membuatnya selalu berangkat ketika aku masih terlelap dan baru pulang kembali saat aku sudah tertidur, aku memakluminya karena jarak antara Cibubur dan Kemang yang cukup jauh. Aku juga mempunyai seorang adik laki-laki, dia bernama titus. Saat ini dia masih berusia empat tahun dan masih playgroup. Karena jarak kami yang cukup jauh terpaut 12 tahun membuat aku dan adikku tidak akrab. Aku selalu merasa kesepian saat berada dirumah. Hanya ibu Dewi yang setia menemaniku dirumah. Bu Dewi merupakan tangan kanan mamiku untuk menghandle semua yang ada dirumah saat mami tidak sedang berada dirumah, dia sudah mengabdi kepada keluargaku saat aku masih bayi, itulah sebabnya aku menggangap dia sebaga ibu kedua ku setelah mami. saat rick menjadi pacarku setidaknya ada yang mengisi kekosongan hariku. Tapi kini rick sudah pergi meninggalkan ku dengan alasan yang tidak begitu aku mengerti.
                                                     ***
           Sebagai pasangan yang cukup famous di sekolah, aku terlalu takut akan banyaknya orang-orang yang kepo dengan apa yang terjadi antara aku dan rick, aku takut mereka akan menaruh kasian kepadaku. Aku bukanlah tipikal perempuan yang suka di kasihani, sewatu aku masih berpacaran dengan rick, rick sempat marah kepadaku karena sifat ku yang terlalu mandiri. Menurutku selama hal tersebut masih sepele seperti pulang sendiri ataupun ke kantin sendiri itu masih hal yang wajar. Tapi aku tidak tau apa yang ada di pikiran rick. Yang ada di pikiranku sekarang bagaimana aku dapat menjawab pertanyaan para manusia kepo itu dan bagaimana aku berusaha untuk memanipulasi wajahku ini agat tidak terlihat seperti orang yang sangat depresi.
         Aku berjalan perlahan menyusuri koridor sekolahku walaupun sedikit gelap akibat mendung dan matahari enggan untuk menunjukan sinarnya, sepertinya bumi pun menyadari apa yang aku rasakan sekarang, koridor sekolah mulai ramai, maklum saja sekarang pukul 06.00 pagi dan pukul 06.15 kita harus berkumpul di lapangan untuk melaksanakan upacara bendera. Dengan enggan aku melangkahkan kakiku menuju kelas terujung, ya kelas ku disana di sudut paling akhir bangunan sekolah ini.    
         “Flowwwwwwwww ada gosip kalo lo putus sama rick ya? Itu beneran? Please bilang itu cuma hoax”  tiba tiba karin mengejar ku dan hampir menabrakku. Karin adalah salah satu teman baikku di organisasi. Kami sama-sama bergabung di OSIS, sifatnya yang kepo maniak membuatnya masuk kedalam divisi jurnalistik. Aku hanya tersenyum membalas pertanyaan karin.
“Flow bilang ke gua lo gak putus kan?” Suara karin meninggi,
“woles woy udah konferensi persnya nanti aja udah mau upacara noh, tar lu kena ama guru bp bahaya, malu maluin osis aja lu hahaa” jawab ku seenaknya sambil lati meniggalkan karin.
 “Ah ngeselin lo” karin pun melanjutkan langkah kakinya menuju lapangan upacara.
       Mungkin sekarang aku bisa selamat dari karin si wartawan, tetapi mungkin hanya hari ini aku selamat dari karin. Ada ratusan orang seperti karin di sekolah ini. Berita putusnya aku dan rick adalah berita yang sangat di tunggu-tunggu oleh para fans rick. Ya rick mempunyai banyak fans, seperti aku bilang sebelumnya dengan penampilannya yang sempurna dan kecerdasaannya diatas rata-rata siapapun pasti ingin menjadi pacar rick.
                                                                     ***
             Detak jam terdengar di tengah kesunyian. Semua siswa dikelasku hanya mematung melihat ke arah papan tulis, entah apa yang mereka pikirkan, mungkin sebagian dari mereka yang tergolong anak anak jenius menikmati keheningan seperti ini, mereka menjadi leluasa untuk berfikir. Tapi untuk anak yang rata-rata sampai yang bodoh sepertiku pasti memilih diam karena tidak ingin memunculkan gerak gerik mencurigakan lalu di panggil kedepan untuK mengerjakan soal. Jujur saja mata pelajaran ini yang paling aku tidak suka, karena aku lemah sekali dalam hal penalaran, diantara aku dan teman-temanku akulah yang paling lemot, dan terkadang mereka menaruh kesal kepadaku untuk semua tingkah bodohku. Selain itu alasan aku tidak menyukai mata pelajaran ini, karena gurunya yang sangat killer.
“Beeep bep beeep….” Aku mendengar suara handphone ku bergetar. Segera aku mengeceknya. Dengan gerakan ekstra cepat, karena aku tidak ingin mengambill resiko posel ku tersita oleh guru killer itu. Karena menurut kabar burung yang ku dengar jika ada sesuatu yang disita oleh beliau, beliau tidak segan untuk memusnahkannya sebagai api unggun saat acara campingakhir tahun.                                     “Meet up at black romantic 7 pm , dont be late. Take care your self”  Tak      kusangka, ternyata rick yang mengirim pesan itu. Hampir saja aku histeris jika tidak ingat ini masih jam pelajaran. Rick tidak tidak hanya sebatas mengirim pesan, tapi dia juga mengajakku untuk bertemu malam ini. Pikiranku menerawang kepertemuanku nanti malam dengan rick. Aku membayangkan rick akan        mengajakku makan malam yang romatis lalu ia akan mengajakku balikan. Jujur saja aku masih mengharapkan rick, walaupun sudah tepat seminggu aku putus dengannya. Sedikit berharap tentu boleh saja.
                “Wooiiiii melamun mulu pantes hamster gua mati” tiba-tiba Dita membuyarkan semua lamunanku.
“Astagaaaaaa…. Dita lo apa-apan sih, gua jantungan nih. Lagi apa hubunganya sama kematian almarhum hamster lo hah?” Jawabku sambil menabok pelan badannya.
 “Sorry-sorry abisan lo gua teriakin gak nengok-nengok” “Eh lu kok jalan-jalan? Tar diomelin sama miss J, ini kan masih jam dia” sautku memotong pembicaraan Dita.
“Hahaha aduuh flow ini udah jam istirahat kali. Makannya jangan bengong gitu, komuk lo tablo banget tau gak? Hahaha.”
          “Ah jahat lu muka cute begini dibilang tablo” kataku sambil manyun. “Bay the way muti sama dinda mana?”
             “Udah caw kenkantin dari tadi shaggy, manggilin princess galau macam lo susah ye, udah yuk ah cabut, susul mereka”
                                                                 ***
                “Whatttttt? Seriusan lo rick ngajak ketemuan?” Kantin yang tadinya bising dengan polusi suara dari pengunjungnya mendadak hening karena teriakan super maut Muti.
“Stttttttt berisik banget sih lo, banyak orang disini” Dinda langsung dengan cepat menutup mulut Muti yang volume suaranya tidak bisa ia kontrol. Itu memang kebiasaan buruk Muti yang selalu ia keluarkan saat histeris.
 “Hooh” jawabku pelan
 “terus lo jawab apa flow?”selidik Dinda.
 “Belum gua bales sih, tadi di kelas lagi pelajaran miss J, bisa gawat kalo hp kesita”
 “sini sini hp lo biar gua yang bales” Muti langsung merampas ponselku tampa permisi.
             “Flow nanti malam kita gak bakal biarin lo pergi sendirian, tenang kita akan jaga batas aman jadi gak akan ganggu dinner kalian” tiba tiba dita mencetus kan kalimat seperti itu.
 “Eh biarin aja sih jangan ganggu privasi mereka,mereka tuh lagi berusaha perbaikin hubungan” sanggah Muti tidak setuju.
 “Bukannya begitu, gua cuma takut aja flow nanti kenapa kenapa, setidaknya flow teman kita. Kita harus melindungi flow dari apapun”

 “udah udah gak usah debat kalian boleh ikut kok, tapi sebelumnya kalian kerumah gua dulu ya, make over gua jadi princess heheh” jawab ku dengan tidak bersalah.