Senin, 03 Oktober 2016

Perjalanan menuju pensiun....

Jumpa lagi di blog saya yang sudah beberapa tahun mati suri hahahah......

sekian lama saya berkecimpung didunia pemrogramn tepatnya sejak tahun 1995 dimana masa-masa kuliah dikenalkan dengan bahasa pemrograman yang waktu itu dimulai dari bahasa QBasic,  Turbo C , Turbo Pascal, Assemler, DBase III+, dan berbagai macam ragam bahasa pemrograman.

Dari berbagai macam bahasa pemrograman saya sangat menyukai bahasa pemrograman DBase III+,  Ca-Clipper 5.2, Pascal yang saat ini telah berkembang menjadi Delphi yang dikembangkan dibawah naungan embarcadero, begitu banyak aplikasi yang telah saya kembangkan khususnya dengan bahasa pemrograman Ca-Clipper 5.2 yang dimasanya sangat banyak perusahaan yang menggunakannya dikarenakan kesederhanaan dan tidak membutuhkan spesifikasi hardware yang tinggi dan terutama berjalan dalam lingkungan DOS....

Perkembangan dalam pemahaman dalam bahasa pemrograman saya sangat dipengaruhi oleh beberapa sahabat diwaktu itu (maklum saya seorang lulusan ekonomi hehe), terutama teman-teman yang tergabung di AJC software surabaya (2000-2001), sahabat-sahabat saya seperti Muawiyah  & Ari  (pertama kali kerja bareng dalam Ca-Clipper 5.2), Yafie (mengenalkan konsep OOP) , Zam-zam Faried(yang mengenalkan saya pertama kali delphi) , terimakasih yang sebesar-besarnya tanpa kalian saya bukan apa-apanya.

Kira-kira ini dahulu kata awal dari saya, dalam artikel selanjutnya saya akan mencoba berusaha membagikan kode-kode aplikasi maupun aplikasi yang saya anggap bisa dipergunakan oleh teman-teman, maupun dapat dikembangkan oleh teman-teman.

salam coder...



Kamis, 08 Maret 2012

Backup - Restore Database SQL Server Dengan Delphi

Menjawab pertanyaan beberapa teman yang ingin melakukan backup ataupun restore database Sql Server, berikut ada satu buah contoh kecil yang dulu pernah saya buat bersama teman saya "Yafie Kiwul", mudah-mudahan bisa bermanfaat bagi teman-teman delphier .
Langsung ketopik buatlah sebuah form kecil seperti gambar berikut :





kemudian letakkan beberapa komponen yang diperlukan seperti :
- TAdoCommand              ganti name menjadi AdoCom
-TOpenDialog
-TSaveDialog
-TEdit                              ganti menjadi name backedit  ( untuk komponen dimenu backup)
-TEdit                              ganti menjadi name edrestore ( untuk komponen dimenu backup)

Untuk TAdoCommand silahkan isi diconnectionstringnya seperti berikut:

Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=master;Data Source=CENK26-PC\SQLEXPRESS

Pastikan untuk Initial Catalog mengacu ke master , serta data source disesuaikan dengan komputer masing dalam hal ini penulis mencoba dengan menggunakan Sql server Express 2005 , dan untuk versi dibawahnya penulis sudah mencoba dapat berjalan dengan baik.
selanjuytnya silahkan set property untuk TOpenDialog untuk kolom filter sesuai dengan yang teman-teman inginkan misalnya 
Filter = data Backup|*.bak|All Files|*.* 
Default = bak

dan untuk TSaveDialog silahkan ubah propertynya
Filter = data Backup|*.bak|All Files|*.* 
Default = bak
InitialDir =C:\MyDocument

- di even formcreate ketikkan kode berikut :
  procedure TFutama.FormCreate(Sender: TObject);
  var d,m,y : word; str : String;
  begin
        DecodeDate(now,y,m,d);
        str := inttostr(d)+inttostr(m)+inttostr(y);
        backedit.Text := 'F:\NamaDatabase'+str+'.bak';
  end;


- untuk tombol Browse (di Tab Backup) ketikkan kode seperti berikut :
  procedure TFutama.SpeedButton9Click(Sender: TObject);
  begin
         if savedata.Execute then
         begin
              backedit.Text := savedata.FileName;
        end;
  end;


- untuk tombol Browse (di Tab Restore) ketikkan kode seperti berikut :
   if opendata.Execute then
   begin
           edrestore.Text := opendata.FileName;
   end;
 


- selanjutnya dalam di tombol Backup tambahkan kode seperti berikut :
  procedure TFutama.SpeedButton7Click(Sender: TObject);
  begin
        with ADOcom do
        begin
              try
                    DeleteFile(trim(backedit.text));
              except
             end;
             try
                      CommandText := '';
                      CommandText := 'sp_dropdevice ''dataku''';
                      Execute;
            except
            end;
            CommandText := '';
            CommandText := 'exec SP_addumpdevice ''disk'',''dataku'','''+ trim(backedit.text) +'''';
            Execute;
            CommandText := '';
            CommandText := 'BACKUP DATABASE NAMA_DATABASE To dataku';
            Execute;
            CommandText := '';
            CommandText := 'sp_dropdevice dataku';
            execute;
   end;
   showmessage('Backup telah selesai!');
end;


- Sedangkan untuk proses restore ditombol restore silahkan ketikkan kode seperti berikut :
  procedure TFutama.SpeedButton7Click(Sender: TObject);
  begin
        with ADOcom do
        begin
               try
                      DeleteFile(trim(backedit.text));
              except
        end;
        try
                   CommandText := '';
                   CommandText := 'sp_dropdevice ''dataku''';
                   Execute;
       except
       end;
       CommandText := '';
       CommandText := 'exec SP_addumpdevice ''disk'',''dataku'','''+ trim(backedit.text) +'''';
       Execute;
       CommandText := '';
       CommandText := 'BACKUP DATABASE NAMADATABASE To dataku';
       Execute;
       CommandText := '';
       CommandText := 'sp_dropdevice dataku';
       execute;
   end;
   showmessage('Backup telah selesai!');
end;
 
mudah-mudah an contoh aplikasi kecil ini dapat menjadi salah satu referensi para delphier, akhir kata terimakasih sama bang Yafie Kriwul atas kerjasamanya dulu.

Rabu, 25 Januari 2012

Me recovery database MS Sql Server as suspect

Resiko kehilangan data merupakan sesuatu yang paling tidak menyenangkan apalagi data tersebut merupakan data-data penting. Penulis dalam hal ini juga pernah merasakan hal yang sama ketika sebuah aplikasi yang dibuat oleh penulis dengan menggunakan Delphi dan tentunya karena aplikasi yang dibuat diperuntukkan dalam menyimpan data maka kebutuhan akan database tidak terelakkan.
Pilihan database akhirnya penulis menetapkan untuk menggunakan SQL Server Express 2005 dengan alasan karena data yang digunakan tidak terlalu besar dan database ini bersifat gratis.

Setelah aplikasi selesai dan diisi data yang lumayan banyak tanpa diketahui penulis ternyata laptop yang saya miliki sudah mulai mau rusak karena dimakan usia hehehehe... alhasil pada awalnya aplikasi berjalan dengan baik tiba-tiba selalu muncul pesan "gagal terkoneksi dengan database"

Setelah cek sana sini , sampai puyeng sendiri akhirnya penulis menemukan kejanggalan didatabase penulis dengan tanda seru kuning dengan keterangan database "suspect"...... duar..... alamat membuat ulang dalam benak penulis karena database belum sempat dibackup dan belum memiliki backup semua script.

Ada perasaan malas kalau mau buat database ulang apalagi mengisi data ulang hik hik,... akhirnya pilihan konsultasi jatuh ke google untuk bertanya berbagai cara sudah penulis coba dari coba backup secara manual, copy database langsung sampai dengan mencoba Detach database tetap saja tidak membuahkan hasil.

Alternatif terakhir penulis mencoba mencari aplikasi jadi yang dapat menyelesaikan masalah ini akhirnya saya coba dengan Recovery Toolbox for SQL Server , kalo mau yang ada jamu cari sendiri ya hehehehehee...

Konsep kerjanya lumayan mudah, tapi ntar baru lanjutin ya penulis mau makan dulu maklum perut sudah keroncongan heheh