Sabtu, 26 Agustus 2017

Cara Menghapus Banyak Kolom Sekaligus Pada MariaDB / MySQL


Misal pada table yang terdiri kolom sebagai berikut:

MariaDB [coba]> DESC Identitas;


Kemudian akan menghilangkan semua kolom kecuali Nama, maka Querynya:

MariaDB [coba]> ALTER TABLE Identitas DROP Tgl_lhr, DROP Alamat, DROP Pekerjaan;

Hasil:Semoga bermanfaat.

Cara Memulihkan Kembali Settingan Perintah Dari Delimiter pada MariaDB / MySQL


Saat kita menset procedure atau trigger pada MariaDB maka tidak lepas dari perintah awal Delimiter.
Fungsi delimiter adalah memberitahu bahwa perintah yang akan ditulis tidak akan dieksekusi selama belum ada penutup delimiter. Jadi perintah-perintah dikumpumpulkan diantara delimiter sehingga ketika perintah-perintah sudah siap dieksekusi maka ditutuplah dengan delimiter.
Penggunaan delimiter:

DELIMITER |
<kumpulan perintah>
|

saat delimiter telah diset, paka perintah-perintah berikutnya harus ditutup dengan delimiternya. Nah untuk menormalkan kembali dari set delimiter maka gunakan perintah “\d;”.
Contoh

DELIMITER //
<printah-perintah>
//
\d;

Kamis, 24 Agustus 2017

Kamus stty Terminal (Pemrogaman Bash) ~ Part 1


Untuk karakter
erase CHAR
Kegunaan: menggantikan fungsi Backspace/hapus satu karakter dibelakang
Contoh: stty erase q
Hasil: tombol “q” akan menggantikan fungsi tombol backspace. Sedangkan tombol backspace jika ditekan akan tampil ^?

eof CHAR
Kegunaan: Mengakhiri/menutup file(sesion terminal)
Contoh: stty eof g
Hasil: Jika yang pertamakali ditekan adalah tombol “g” maka akan keluar dari session (tutup)

intr CHAR
Kegunaan: menginterupsi sinyal input
Contoh: stty intr h
Hasil : setiap kali tekan tombol “h” maka akan kembali ke baris perintah

kill CHAR
Kegunaan: Menghapus tulisan pada baris yang saat ini digunakan
Contoh: stty kill a
Hasil: saat menekan tombo “a” maka tulisan bada baris saat ini akan terhapus

lnext CHAR
Kegunaan: karakter ditampilkan dengan menekan tombol dua kali
Contoh: stty lnext j
Hasil: untuk menampilkan huruf “j” maka perlu menekan dua kali tombol “j”.

quit CHAR / start CHAR / susp Char
Keguanaan: menonaktifkan (tombol) karakter
Contoh: stty quit t
Memulihkan: stty sane
Hasil: tombol “t” tidak berfungsi

werase CHAR
Kegunaan: menghapus mulai dari posisi cursor saat ini sampai awal kalimat
Contoh: stty werase h
Memulihkan: stty sane
Hasil: saat menekan tombol “h” maka akan menghapus kalimat mulai dari posisi cursor sampai awal.

Untuk Setting
cols N atau columns N
Kegunaan: menentukan jumlah kolom masukan
Contoh: cols 3
Memulihkan: stty sane
Hasil: hanya tiga kolom/karakter tiap baris, jika karakter lebih dari tiga maka karakter keempat akan menempati baris setelahnya. Hanya bisa digunakan pada perintah terminal langsung, tidak bisa disispkan pada skrip aplikasi.

stty drain
Kegunaan: untuk melihat kecepatan proses dan nilai baris.
Contoh: stty drain

stty size
Kegunaan: menampilkan ukuran (tinggi -lebar) layar terminal
Contoh: stty size

stty speed
Kegunaan: menampilkan kecepatan proses

stty -opost
Kegunaan: menjadikan posisi perintah pada kolom paling akir dari perintah sebelumnya setelah menset “stty opost”
Contoh: stty -opost
Memulihkan: stty opost

stty -echo
Kegunaan: tidak menampilkan hasil input.
Memulihkan: stty echo

stty lcase
Kegunaan: merubah huruf kecil menjadi huruf besar
Memulihkan: stty -lcase

stty -cooked / stty nl / stty litout / stty raw
Kegunaan: mengatur posisi perintah berdasarkan posisi akhir colom perintah sebelumnya seperti perintah “stty opost”
Memulihkan: stty cooked, stty -nl, stty -litout

Sane
Kegunaan: memulihkan kembali perintah perintah stty
Contoh: stty sane
Hasil: menormalkan perintah stty sebelumnya

Senin, 21 Agustus 2017

Supaya Input Karakter Teriminal Outpunya Menjadi Huruf Besar/Uppercase (Bash Programming)


Supaya karakter yang diinput, outpunya menjadi huruf kapital/Uppercase pada terminal (bash brogramming), maka gunakan perintah berikut:
stty lcase #menjadikan huruf besar
stty -lcase #menjadikan huruf kecil

Contoh menerapkan pada skrip aplikasi yang menggunakan bahasa bash:

stty lcase
read kata
stty -lcase
echo $kata

Kamis, 17 Agustus 2017

Contoh Penggunaan Array Dan Penerapan Pada Variabel ~ Tutorial Gambas


Public Sub Form_Open()

Dim a, b, c As New String[3]
a[0] = "aku-"
a[1] = "mereka-"
a[2] = "dia-"
b[0] = "ingin-"
b[1] = "mau-"
b[2] = "suka-"
c[0] = "cina-"
c[1] = "indonesia-"
c[2] = "amerika-"
Print a[0] & b[2] & c[1]

End
Result:
aku-cinta-indonesia

Diatas jumlah index array dibatasi hanya tiga.

Untuk membuat array dimana tiap-tiap valuenya di set langsung tanpa dibatasi jumlah index maka bisa menggunakan array berikut:

Dim Arr As String[]
Dim N As Byte
Arr = ["Saya",  "lagi", " belajar"]
For  N = 0 To Arr.Max
Print Arr[N]
Next

Jika nilai Array tidak di set langsung tanpa dibatasi jumlah index maka deklarasi ditambahkan "New".

Dim Arr As New Integer[]
'Jika dibatasi index memakai Dim Arr As New Integer[12]
Dim N As Byte
Arr.Add(7)
Arr.Add(1)
Arr.Add(5)

For N = 0 To Arr.Max
Print Arr[N]
Next


Mengenal Penggunaan TableView Dan GridView Pada Gambas


Meskipun judul diatas terdapat Kata GridView, namun pada tutorial disini hanya memberikan contoh penggunaan TableView mengingat terdapat kesamaan penggunaan antara keduanya. Sedangkan perbedaan penggunaannya ialah bahwa TableView bersifat editable (bisa diedit atau diberi masukan nilai), sedangkan GridView hanya menampilkan saja.

Misal pada tes.Form terdapat TableView yang terdiri dari 4 kolom dan 3 baris:

Public Sub Form_Open()

End

Public Sub _new()

    Dim n As Integer
    With TableView1
      'Header adalah kepala tabel
      'Jumlah kolom header harus lebih 1 dari jumlah kolom
      .Header = 5
      .Columns.Count = 4 'Jumlah kolom
      .Rows.Count = 3 'Jumlah baris
      .Columns[0].W = 10 'Lebar kolom ke-0
      .Columns[1].W = 20 'Lebar kolom ke-1
      .Columns[2].W = 100 'Lebar kolom ke-2
      .Columns[3].W = 100 'Lebar kolom ke-1
           'Nama header tiap kolom
      .Columns[0].Title = "No"
      .Columns[1].Title = "Kode"
      .Columns[2].Title = "Nama"
      .Columns[3].Title = "Hobi"
    End With
        'Beri nilai pada kolom “No”
    'Jumlah baris hanya tersisa 3 karena yang pertama untuk header
    For n = 0 To 2
       TableView1[n, 0].Text = n + 1
    Next

End

Public Sub TableView1_Click()

    Dim hobi As Array = ["Makan", "Tidur", "Nonton TV", " Maen Game"]
    If TableView1.Column = 1 Or TableView1.Column = 2 Then
             'Kolom ke-1 (kode) atau ke-2 (nama) bisa di edit/dimasukkan teks dengan mengklik kolom
       TableView1.Edit
    Else
             'Kolom ke-3 bisa diedit dengan pilihan yang disediakan
       TableView1.Edit(hobi)
    Endif
       Kolom “No” diset tidak bisa diedit

End

Public Sub TableView1_Save(baris As Integer, kolom As Integer, isi As String)

    'Event ini untuk meniyimpan inputan.Jika tidak menggunakan Event ini
  'maka tiap pindah baris inputan akan hilang
  TableView1[baris, kolom].Text = isi

End

Semoga Bermanfaat

Minggu, 13 Agustus 2017

Membuat Nama (Variabel) Baru Untuk Komponen(TextBox, ButtonBox, Button, Label, dll) Secara Manual Pada Gambas


Contoh penggunaan variabel biasa:

Public Sub Form_Open()

    Dim Isian As TextBox = TextBox1
    Isian.Text = "haloworld"

End

Contoh penggunaan variabel array:

Public Sub Form_Open()

   ‘ Buat 4 TexBox
    Dim Alat As Object = [TextBox1, TextBox2, TextBox3, TextBox4]
    Dim isi As Array = ["Belajar", "Gambas", "Sangat",    "Menyenangkan"]
    Dim Nomor As Integer
    For Nomor = 0 To 3
       Alat[Nomor].Text = isi[Nomor]
    Next

End

Nb:
  1. Pada contoh diatas penggunaan tipe Object maupun Array hasilnya sama saja.
  2. Variabel yang diidentifikasi bertipe Tool(Textbox, Button, RadioButto, dll), harus berada pada lokal.
  3. Variabel yang digunakan untuk loop harus diidentifikasi pada lokal.
  4. Variabel pengganti nama tools harus digunakan dalam method lokal.

Penggunaan Properties “Tag” Pada Gambas


Properti Tag pada gambas digunakan untuk identifikasi Tool saat propreti Group digunakan. Sedangkan properti Group digunakan untuk mengelompokkan Event Tool yang tujuannya untuk menghindari pengulangan pada skrip kode.

Contoh 1:
Sebuah Form mempunyai tiga Button(Button1, Button2, Button3), Semua Button dikelompokkan dengan nama Group “Bagong”. Masing-masing Button dibuatkan identitas Tag, Tag Button1: suka, Tag Button2: belajar, Tag Button3: gambas. Tes penggunaan Tag:


Public Sub Bagong_Click()



     Print Last.Tag



End

Coba masing-masing tombol!

Contoh 2:
Masih cerita Form yang sama dengan diatas, namun hanya identitas Tag yang diubah, Tag Bagong1: 1, Tag Bagong2: 2, Tag Bagong3: 3.



Public Sub Bagong_Click()

   If Last.Tag = 2 Then
      Me.Close
   Endif

End



Rabu, 09 Agustus 2017

Cara Menemukan Ukuran (Lebar-Tinggi) Layar Desktop Menggunakan Terminal (Linux)

Untuk menemukan ukuran layar desktop via terminal Linux, bisa menggunakan perintah berikut:

$ xwininfo -root

pada hasil yang ditampilkan, temukan Lebar-Tinggi sebagaimana yang tertuis, misalnya:
 
Width: 1024
Height: 600


Jika ingin hanya mengambil nilainya saja yang biasanya untuk dijadikan variable program, gunakan perintah berikut

$ xwininfo -root | grep Width | awk -F" " '{print $2}'

Hasil:
1024
Sekian Terima Gaji...

Tips Membuat Tools (Button, TextBox, ComboBox, dll) Secara Manual Pada Gambas Di IGN OS


Mungkin ada yang mengalami seperti saya yang awalnya kesulitan saat membuat atau mempraktekkan pembuatan tools seperti Button, TextBox, TextArea, Label, dll secara manual pada IDE GUI Gambas. Dipastikan umumnya pengguna membuat/memakai tools dengan cara mudah yakni melalui media grafis yang tinggal ambil – seret ke layar form. Terasa ribet memang jika pembuatan tools melalui cara manual dengan menggunakan Script Code. Namun ada baiknya programmer mengetahui cara pembuatan secara manual karena mungkin dalam kondisi tertentu akan dibutuhkan.
Awalnya kesulitan penulis saat mencoba membuat tools secara manual dengan mencontoh berbagai tutorial, ialah hasil dari kode yang ditulis/dipraktekkan tidak tampak pada layar, sedangkan tidak ada bug sama sekali. Akhirnya berbagai uji coba ahirnya ketemu masalahnya, bahwa tools yang dibuat, posisi dasarnya berada pojok atas kiri layar, dan tidak tampak karena tertutup baris title, sedangkan tinggi tools juga belum diatur. Seandainya tinggi tools diatur terlebih dahulu dengan ukuran melebihi tinggi baris title maka pasti kelihatan dan bisa diatur posisi dan sebagainya kemudian.

Biar gak bingung penjelasan saya diatas, langsung saja saya kasih tips/contoh pembuatan tools secara manual.
(Misalnya) membuat Button, pada Tes.Class tulis script berikut:

Public Sub Form_Open()

     Dim Tombol As New Button(Me) As “TombolA”

     With Tombol
         ‘posisi (X/Y) ditampilkan terlebih dahulu biar terlihat
         .X = 50 ‘Posisi Kanan-Kiri
         .Y = 50 ‘Posisi Atas-Bawah
         .W = 70 ‘Lebar
         .H = 40 ‘Tinggi
         .Background = Color.LightGray
         .Caption = “Tombol”
     End With

End

Public Sub TombolA_Click()

    Print “Tes hasil”

End

Dipraktekkan menggunakan Gambas 3.8.4 di IGN OS
Semoga bermanfaat

Selasa, 08 Agustus 2017

Mengenal Penggunaan Properties “Group” Dan “Action” Pada Gambas


Terdapat kesamaan antara penggunaan properti “Group” dan “Action” pada Gambas, keduanya sama-sama untuk pengelompokan dari sejumlah tools seperti TextBox, ComboBox, Button, RadioButton, dll dengan tujuan yang berbeda.
Properti “Group” digunakan untuk membentuk Event dari kelmpok tools. Bayangkan jika kita membuat sejumlah tools yakni >10 TextBox misalnya, yang masing-masing akan dibentuk event untuk tujuan tertentu dengan perintah/script code yang sama, mungkin bisa bikin tangan kesemutan. Nah fungsi “Group” inilah yang bisa digunakan untuk menghindari penulisan berulang pada event.
Sedangkan Properti “Action” digunakan untuk memanipulasi tools/object itu sendiri dan dapat berinteraksi dengan object lain.
Contoh:
Dalam sebuah Form terdapat 5 kolom TextBox. Semuanya akan dikondisikan akan hanya menerima input selain angka pada masukan pertamakali. Maka buat sebuah kelompok dari TextBox1-5 dengan nama Group: “Huruf1” dan Acton: “Huruf2” .

Public Sub Huruf1_Change()



   If IsNumber(Action[“Huruf2”].Text) = True Then

       Action[“Huruf2”].Text = “”

   Endif



End



Selamat Mencoba
IGN User

Sabtu, 05 Agustus 2017

Cara Menambahkan Banyak Kolom/Field Secara Berurutan Pada MariaDB / MySQL


Setahu saya pada pada MariaDB / MySQL tidak ada fitur me-Loop tambahan daftar colom supaya tidak mengulang-ulang menulis perintah. Secara default perintah menambahkan kolom secara berurutan seperti:
MariaDB [coba]> ALTER TABLE <nama-tabel> ADD <nama-kolom-tambahan-1> VARCHAR(20) AFTER <kolom-sebelumnya-0>;
MariaDB [coba]> ALTER TABLE <nama-tabel> ADD <nama-kolom-tambahan-2> VARCHAR(20) AFTER <kolom-sebelumnya-1/kolom-tambahan-1>;
MariaDB [coba]> ALTER TABLE <nama-tabel> ADD <nama-kolom-tambahan-3> VARCHAR(20) AFTER <kolom-sebelumnya-2/kolom-tambahan-2 >;
dst…
Dengan perintah tersebut secara berulang mungkin tidak masalah jika kolom yang ditambahkan hanya sedikit sekitar 1-5 kolom, namun bagaimana jika tambahan kolom >10, mungkin bikin jemari kesemutan. Jika pakai IDE datababase mungkin sedikit lebih mudah namun beberapa kondisi tidak secepat mode command line.
Pada tutorial ini saya kasih contoh cara menambahkan field list pada MariaDB / MySQL menggunakan Loop Shell Script (Bash).
Misalkan kamu punya database dengan nama “tesdb” tabel “testabel” mempunyai kolom/Field terdiri A, L. Contoh:

Kemudian kamu ingin menambahkan kolom dengan nama B, C, D, E, F, G, H, I, J, K dengan type data yang sama, maka salah satu solusi adalah menggunakan Loop pada shell script. Caranya:
Buka teks editor kesukaan kamu dan tulis command script seperti berikut:

a[0]=A
a[1]=B
a[2]=C
a[3]=D
a[4]=E
a[5]=F
a[6]=G
a[7]=H
a[8]=I
a[9]=J
a[10]=K

for i in {1..10}; do

mysql -u root -p<pasword> <nama-database> -e "ALTER TABLE <nama-tabel> ADD ${a[i]} VARCHAR(20) AFTER ${a[i-1]}"

done

Hasil:

Penjelasan:
Kenapa loop dimulai dari angka 1 (untuk variabel array)? karena angka 0 untuk adalah untuk kolom yang sudah ada dan menjadikan patokan loasi penempatan kolom yang akan ditambah.

IGN User

Cara Membatasi Jumlah Digit Masukkan ValueBox Pada Gambas



Setelah membahas cara membatasi jumlah masukkan karakter ButtonBox, sekarang membahas untuk yang ValueBox. Jika anda bertanya apakah ada perbedaan dengan cara pada ButtonBox? Ya tentu ada perbedaan. Letak perbedaan ialah:
Pada ButtonBox nilai didalamnya berupa string sehingga untuk mencari jumlah/panjang string dengan menggunakan properti “Length”. Properti tersebut tidak tersedia pada ValueBox sehingga untuk mencari panjang/jumlah digit menggunakan perintah “Len”. Perintah ini juga berlaku pada ButtonBox, ComboBox, maupun TextBox.
Contoh penggunaan “Len” untuk control input:

Public Sub ValueBox1_Change()

    If Len(ValueBox1.Text) > 2 Then
       ValueBox1.Text = Mid(ValueBox1.Text, 1, 2)
    Endif

End

Script kode diatas bertujuan membatasi jumlah masukkan pada ValueBox dengan Maksimal 2 digit.
Semoga bermanfaat.

Cara Membatasi Jumlah Masukkan Karakter ButtonBox Pada Gambas


Jika pada Textbox atau ComboBox sudah tersedia fitur properti yang membatasi jumlah karakter (huruf/angka) yang dimasukkan. Namun Pada ButtonBox harus dilakukan secara manual, yakni membuat kode program sendiri.
Berikut kode programnya:

Public Sub ButtonBox1_Change()

    If ButtonBox1.Length > 4 Then
          ButtonBox1.Text = Mid(ButtonBox1.Text, 1, 4)
    Endif

End

Result:
Meng

Uraian:
Kode Mid berfungsi untuk menyeleksi karakter pada string berdasakan nomor urutan karakternya. Contoh diatas menyeleksi karakter yang ditampilkan saat jumlah karakter melebihi dari 4, yakni dimulai dari karakter nomor 1 sampai nomor 4.

IGN User