Selasa, 18 Desember 2018

Cara Menambahkan Daftar Isian Pilihan Lewat Jendela Control Properties:ComboBox - List Entires Form LibreOffice Base


Berawal dari kebingungan saat mempelajari pembuatan properti ComboBox pada Form LibreOffice Base, saat ingin memberi/menambahkan nilai pilihan pada ComboBox, tidak tahu carannya (cuma bisa membuat satu daftar aja). Paling menyebalkan lagi belum banyak tutorial berbahasa indonesia.
Setelah terpaksa browsing di berbagai diskusi mengenai pembuatan From LibreOffice (terutama berkaitan penambahan list ComboBox), akhirnya ketemu juga dan caranya tentu (ternyata) sederhana sekali hehe..
Ok langsung ke inti..
Untuk menambahkan list/daftar pilihan ComboBox dengan menekan tombol SHIFT+ENTER saat List Entires dalam keadaan siap edit, maka posisi edit akan berganti baris yang siap diberi data pilihan baru.

Mungkin itu saja, dan semoga dapat dipahami.

Sabtu, 15 Desember 2018

Cara Menemukan Data Pada Posisi Urutan (Insert/Default) Sebelumnya Pada Mysql/MariaDB


Sangat mudah sekali jika menemukan posisi data sebelumnya yang urutannya terurut secara Increment/Decrement. Namun bagaimana jika kita ingin menemukan posisi data yang akan diambil, sedangkan acuannya berdasarkan urutan id yang tidak berurut, artinya urutan default yang berdasarkan waktu insert.

Misal sebuah data yang ID nya tidak berurut, artinya urutannya berdasarkan waktu insert.
Nama Tabel: DataNama

ID     Nama
6        Amir
2        Rudi
3         Ana
7        Hadi
4        Fuad
1        Bagio
9        Yuli

Misal, dalam aplikasi yang kita buat terdapat fitur pencarian/menampilkan data sebelum dan sesudah berdasarkan kode ID yang sudah tercantum, dan akan ditampilkan secara satu persatu sesuai urutan (apa adanya) diatas (tidak berdasarkan Increment/Decrement).

Dalam aplikasi tesebut, misalnya sudah diketahui posisi nama adalah “Hadi” (ID=7). Saat user menekan tombol Sebelumnya maka data Nama yang diharapkan adalah “Ana” (ID=3) akan tampil. Contoh query untuk menemukannya menggunakan MariaDB/MySql:

SET @a := 0;
SET @b := 0;
SELECT ID, Nama FROM
   (SELECT @a := @a+1 AS n1, ID AS ids FROM DataNama) AS pret1,
   (SELECT @b := @b+1 AS n2, ID, Nama FROM DataNama) AS pret2
WHERE n2 = (SELECT n1 WHERE ids = 7)-1;

Semoga bermanfaat.

Sabtu, 08 Desember 2018

Cara Mengetahui Posisi Nomor AUTO_INCREMENT Pada MySql/MariaDB


Kita tahu bahwa AUTO_INCREMENT digunukan untuk pemberian nomor secara otomatis secara bertambah (+1) pada kolom yang bertipe angka (INT, TINYINT, MEDIUMINT, dll) saat memasukkan data. Walaupun sejumlah data terakhir dihapus, posisi nomor AUTO_INCREMENT berikutnya akan tetap.

Berikut query cara mengetahui posisi nomor AUTO_INCREMENT yang akan digunakan berikutnya:

SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA=’<nama database>’ AND TABLE_NAME=’<nama tabel>’;

Selasa, 04 Desember 2018

Cara Kontrol (Key) Input/Output Karakter Pada Pemrogaman Gambas


Maksud dari judul diatas ialah cara supaya input dari keyboard ke komponen seperti TextBox, ComboBox, ButtonBox, dll bisa disaring (karakternya).

Misal programmer ingin menset supaya pengguna tidak bisa memasukkan karakter selain angka dan huruf pada suatu TextBox, artinya pengguna tidak dapat memasukkan karakter seperti $%^&)(*!~{}|\<>?.,:”;’`+=_-/. Maka contoh kodenya sebagai berikut:

Public Sub TextBox1_KeyPress()

  With key
     If .Code <> .BackSpace And .Code <> .Del And .Code <> 
    .Left  And .Code <> .Right And .Code <> .Tab And .Code <>
    .BackTab And Not .Control Then
       If Key.Text Not Like "[0-9a-zA-Z]" Then
         Stop Event  
       End If
     Endif
  End With

End

Penggunaan “With – End With” Sebagai Peringkas Penulisan Kode Pada Gambas


With digunakan untuk mewakili penggunaan object yang dipakai secara berulang, tujuannya adalah menyederhanakan penulisan kode.

Misal :

Public Sub Form_Open()



   TextBox1.Clear

   TextBox1.Text = "Anu"

   TextBox1.W = 100

   TextBox1.H = 20

   TextBox1.Enabled = True

   ‘Dan seterusnya



End

Penulisan dapat disingkat dengan:

Public Sub Form_Open()



   With TextBox1

     .Clear

     .Text = "Anu"

     .W = 100

     .H = 20

     .Enabled = True

   End With



End

Bisa juga disertakan dengan properti yang sama:

Public Sub Form_Open()



   With Koneksi.Database

     .Exec(Sql1)

     .Exec(Sql2)

     .Exec(Sql3)

     .Exec(Sql4)

     .Exec(Sql5)

   End With



End


Jadi, dengan menggunakan with kita tidak perlu menulis ulang object

Jumat, 05 Oktober 2018

Cara Menambahkan Jumlah Hari/Bulan Ke (Format) Tanggal/Date Pada Gambas


Contoh:

Public Sub main()



     Dim Tanggal, TambahTanggal As String

     Dim HBT As String[]

     Dim CTanggal As Date


     Tanggal = "5/10/2018"

     TambahTanggal = "100" 'Hari

     'Pisahkan bagian-bagian tanggal Hari, Bulan dan Tahun

     'ke array

     HBT = Split(Tanggal, "/")

     'Susun Tanggal ke format default yyyy/mm/dd

     CTanggal = Date(HBT[2], HBT[1], HBT[0])

     Print Date(CTanggal + TambahTanggal)



End

Hasil: 13/01/2019 00:00:00

Penjelasan:
TambahTanggal berisi nilai jumlah tambahan hari, jadi yang diinginkan adalah "5/10/2018" ditambah “100” hari.
HBT (Hari, Bulan, Tahun) adalah array untuk menampung masing-masing
HBT[2] = “2018” >> Tahun
HBT[1] = “10” >> Bulan
HBT[0] = “5” >> Tanggal.

Nb: Saat menggunakan mode GUI, pada kondisi tertentu (jika penggunaan tipe value tidak tepat) akan terdapat error pada jumlah hari yang ditambahkan. Untuk mengatasi hal tersebut maka tipenya dikonversi. Misal TambahTanggal adalah sebuah TextBox
TextBox1.Text = Date(CTanggal + Cdate(CInt(TambahTanggal.Text)))

Minggu, 02 September 2018

Tutorial Gambas~ Memanipulasi Keluaran/Output Paste (Copy-Paste)


Memanipulasi output paste yang dibahas kali ini bukan dari hasi perintah Clioboard.Paste yang hanya berpengaruh pada sistem Gambas, namun disini membahas output yang berpengaruh secara global, artinya hasil copy teks dari luar sistem gambas (seperti copy dari aplikasi Text Editor, maupun LibreOffice Writer, dll) dapat dimanipulasi outputnya (paste) pada aplikasi Gambas.

Langsung pada contoh kasus:
Tedapat varian dengan nama TextBox1, ceritanya saya mengcopy suatu teks dari Text Editor yang isinya “aabb#cc,,g%j(kkkkk$123”. Lalu saya hendak menaruh teks tersebut ke TextBox1.Text dengan disaring teksnya saat menekan tombol CTR+v (tombol paste biasanya).
Adapun Output yang dinginkan saat mempaste sebagai berikut:
– Hanya berupa teks huruf dan angka, artinya karakter “%,,$(#“ dihilangkan
– Panjang teks dibatasi 7 karakter
– Semua huruf menjadi capital

Adapun algoritmanya:

Private Panjang As Byte

Public Sub TextBox1_Change()
   If Panjang <> 0 Then
     ‘Menghilangkan karakter %,,$(#
     TextBox1.Text = RegExp.Replace(TextBox1.Text, “[^a-zA-Z0-9]”, "")
     ‘Membatasi panjang karakter
     TextBox1.Text = Mid(TextBox1.Text, 1, Panjang)
     ‘Merubah ke huruf besar
     TextBox1.Text = UCase( TextBox1.Text)
   Endif
End

Public Sub TextBox1_KeyPress()
   Panjang = 0
   If Key.Code = Key["v"] And Key.Control Then
     'Menentukan Panjang kata
     Panjang = 7
   Endif
End

Output Paste: AABBCCG

Sabtu, 18 Agustus 2018

Melihat Struktur (Isi) Pembuatan Procedure/Function Pada Mariadb/Mysql


Misal telah dibuat sebuah Procedure dengan nama “Cobaprosedur” dalam suatu database, kemudian kita ingin melihat struktur/isi dari prosedur/fungsi tersebut, maka bisa menggunakan query berikut:

SELECT ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME='Cobaprosedur';

Untuk melihat semua daftar procedur yang telah ada/dibuat secara lengkap:

SHOW PROCEDURE STATUS;

Untuk Melihat semua daftar procedur secara sepesisik seperti hanya menampilkan daftar nama prosedur:

SELECT SPECIFIC_NAME FROM INFORMATION_SCHEMA.ROUTINES;

Untuk menghapus Procedure:

DROP PROCEDURE Cobaprosedur;

Sekian terimakasih

Tutorial Gambas~ Cara Eksekusi Lebih Dari Satu Query Dalam Sekali Eksekusi Ke Database

Mungkin pembaca bingung maksud dari judul diatas, maklum saya ingin memberikan rincian pada judul tapi (mungkin) kurang tepat kalimatnya karena kurang pandai dalam mengarang tulisan.
Sebelumnya saya coba terangkan dulu maksud judul diatas supaya pembaca tidak salah memahaminya dan dapat menentukan apakah tutorial ini sudah sesuai dengan yang dicari.

Jadi misalkan terdapat dua atau lebih query yang berbeda dan ingin dieksekusi hanya dengan sekali eksekusi, contoh kasus perintah mysql pada bentuk shell:

MariaDB [tes]> DELETE FROM nama_tabel_1; DELETE FROM nama_tabel_2

diatas melakukan eksekusi dua queri delete dalam satu eksekusi dengan hanya dipisah “titik-koma” (;).

Pada gambas, eksekusi banyak query namun dengan sekali eksekusi juga dapat dilakukan dengan menambahkan properti .Connection. Contoh:

Public Sub Button1_Click()

     Sql = "INSERT INTO mmm VALUES('1','bonjrot','muharto')"
     Sql2 = "INSERT INTO nomor VALUES('1')"
     ModulDatabase.DbKoneksi.Exec(Sql).Connection.Exec(Sql2)

End

– ModulDatabase adalah nama halaman modul yang berisi fungsi koneksi ke database
-- DbKoneksi adalah nama dari koneksi ke database
– Exec merupakan properti yang berisi query (Sql dan Sql2)
Jika bingung dengan keberadaan nama ModulDatabase dan DbKoneksi maka pelajari cara pembuatan koneksi ke database (dengan modul) pada permogaman gambas.

Dari contoh diatas maka queri bisa dilakukan lebih dari satu (dalam sekali eksekusi) dengan mengunakan properti .Connection.

Mudah-mudahan dapat dipahami.

Jumat, 17 Agustus 2018

Cara Membatasi Jumlah Karakter Input/Masukkan Pada Komponen/Variant (TextBox, ComboBox, ButtonBox, dll) Pada Pemrogaman Gambas

Mebatasi jumlah masukan karakter pada TextBox adalah yang paling mudah karena fiturnya juga tersedia pada daftar properti pada halaman form.
pada properti MaxLength tinggal isi dengan value (batas panjang karakter) yang dinginkan.

Sedangkan membatasi panjang karakter pada selain TextBox harus diatur pada halaman Class.

Membatasi panjang karakter pada ComboBox bisa datur pada Procedur Form_Open() atau _new().

Public Sub Form_Open()

  ComboBox1.MaxLength = 10
 
End


Begitu juga dengan ButtonBox, namun dengan tambahan properti Editor

Public Sub Form_Open()

  ButtonBox1.Editor.MaxLength = 10
 
End


Untuk Pengaturan Panjang karakter pada TextArea dan ValueBox dilakukan secara manual, yakni dengan memprogram panjang karakter menggunakan algoritma.

Public Sub TextArea1_KeyPress()

  With Key
    If .Code <> .BackSpace And .Code <> .Del And 

       .Code <> .Left And .Code <> .Right And .Code <> .Tab And 
       .Code <> .Return And Not .Control Then
      If Len(TextArea1.Text) > 10 Then
        Stop Event
      Endif
    Endif
  End With

End


Khusus untuk TextArea, spasi-enter tidak dianggap sebagai karakter sehingga masih tetap jalan meski dibatasi panjang karakternya.

Senin, 16 Juli 2018

Cara Menghapus Satu atau Banyak Baris Tabel Data (TableView Selection) Pada Pemrogaman Gambas


Jika hanya menghapus 1 baris tabel yang dipilih cukup mudah dengan perintah:
Rumus:
TableView.Rows.Remove(Index As integer, Length As Integer)

Contoh:
Public Sub HapusTabel_Cilck()



   'Menghapus baris tabel index ke 0, 
   'jumlah baris yang dihapus = 1

   TabelView1.Rows.Remove(0, 1)



End

Namun jika menginginkan menghapus lebih dari 1 baris tabel dengan pilihan secara acak maupun tidak (Rows Selection) tentu tidak semudah menghapus 1 baris.
Contoh kasus:
Terdapat 10 baris tabel dengan 5 kolom. Jadi rinciannya adalah 0 sampai 9 index baris dan 0 sampai 4 index kolom. Baris yang akan dihapus adalah baris ke 1, 4, 5 ,7 atau index ke 0, 3, 4, 6.

Public Sub Hapus_Click()



   Dim n As Byte

   Dim Arr As New Byte[] ‘Buat objek baru array bertype byte


   'Simmpan nomor index baris yang diseleksi/pilih ke dalam array

   For n = 0 To TableView1.Rows.Selection.Max

     Arr.Add(TableView1.Rows.Selection[n])

   Next

   'Tanda pilihan dihilangkan semua supaya tidak membingungkan pengguna

   'karena jika tidak akan meninggalkan tanda seleksi akibat perpindahan baris

   TableView1.Rows.UnSelectAll
'Mengurutkan Nilai 
Arr.Sort(gb.Ascent)

   For n = Arr.Max DownTo 0

     'Menghapus baris per-index berturut-turut yang telah disimmpan dalam array

     'Mulai dari index yang terbesar ke index yang terkecil

     TableView1.Rows.Remove(Arr[n], 1)

     'Dihentikan jika index sudah mencapai angka 0

     If n = 0 Then Break

   Next



End

Semoga bermanfaat

Senin, 09 Juli 2018

Penggunaan Properti Edit/EditWith TableView pada Gambas

Pada pemrogaman Gambas, penggunaan Properti Edit/EditWith pada TableView digunakan untuk mengaktifkan editor table sehingga tabel bisa diedit, artinya user dapat memasukkan suatu nilai pada tabel yang ditunjuk.

Perbedaan penggunaan TabelView1.Edit dan TableView1.EditWith() adalah, jika "Edit" maka control dihandle oleh ediitor default tableview, namun jika menggunakan EdithWith() maka control akan di handle oleh editor lain yang ditunjuk seperti TextBox, ComboBox, ValueBox.

Penggunaan TableView1.Edit

‘Tiap-tiap tabel dapat diedit
Public Sub TableView1_Click()
TableView1.Edit
End

Masing-masing kolom pada TableView1 bisa diedit ketika di Click (menggunakan event Click). Namun bisa juga memilih kolom mana saja yg bisa diedit atau tidak.
contoh:

Public Sub TableView1_Click()
If TableView1.Column = 0 Then
TableView1.Edit
Endif
End

Bisa juga Editor diaktifkan melalui event selain Click()

Public Sub TextBox1_KeyPress()
If Key.Code = Key.Return Then
TableView1.SetFocus
'Memposisikan ke baris index 1 dan kolom index 0
TableView1.Row = 1
TableView1.Column = 0
If TableView1.Column = 0 Then
TableView1.Edit
Endif
Endif
End

Hati-hati jika penggunaan Edit/EditWith tidak digunakan pada event Clilck, mengakibatka aktivasi editor tidak berjalan saat di klik (pada Table).

Penggunaan EditWith()
Rumus: TableView.EditWith(Edit As Control).
Editor pada TableView menggunakan control yang telah ditunjuk.
Contoh

'Buat object textbox untuk control editor tableview
Private EditorTabel As TextBox

Public Sub Form_Open()
EditorTable = New TextBox(Me) As "EditorTable"
End

Public Sub EditorTable_KeyPress()
'Setiap input karakter huruf akan diubah menjadi
'huruf besar (namun tombol keyboard yang
'lain tidak difungsikan)
StopEvent
EditorTable.Insert(Ucase(Key.Text))
End

Public Sub TableView1_Click()
'Hanya kolom index ke 2 yang bisa diedit
If TableView1.Column = 2 Then
TableView1.EditWith(EditorTable)
Endif
End

Skrip diatas berfungsi untuk control input keyboard pada editor tableview.

Selasa, 05 Juni 2018

Penggunaan $? Sebagai Nilaii Kembalian (Return) Parameter/Fungsi Pada Pemrogaman Bash


Pada Pemrogaman Bash, $? digunakan untuk mengambil nilai kembalian (return) maupun koreksi sebuah perintah.
Berikut contoh penggunaannya:
Sebagai koreksi perintah

$ aaaaaa
bash: aaaaaa: command not found # Kesalahan perintah
$ echo $?
127 # Nilai return false/error
$ echo Assalamualaikum
Assalamualaikum
$ echo $?
0 # Nilai return perintah yang bernilai true

Sebagai return fungsi/parameter

#!/bin/bash

fungsi(){
   nilai=$[ $1*100 ]
   return $nilai
}
echo Hasil:
fungsi 2
echo nilai dari sebuah fungsi: $?

Minggu, 03 Juni 2018

Skrip Supaya Huruf Yang Diinput Pada ButtonBox Otomatis Menjadi Huruf Besar ~ Tutorial Gambas

Public Sub ButtonBox1_KeyPress()

With Key
If .Code <> .BackSpace And .Code <> .Del And .Code <> .Left And .Code <> .Right And .Code <> .Tab And .Code <> .BackTab And Not .Control Then
If .Text Like "[a-z]" Then
Stop Event
TksBx.Editor.Insert(UCase(.Text))
Endif
Endif
End With

End

Cara SelectAll ButtonBox / ComboBox Pada Pemrogaman Gambas


Tentu saja artikel ini diperuntukkan bagi yang mempelajari pemrogaman Gambas, Mengingat masih minimnya tutorial pemrogaman Gambas berbahasa Indonesia karena jarangnya develop yang mempelajari bahasa ini.

Ok, kali ini saya sedikit mengulas cara penggunaan SelectAll ButtonBox / ComboBox pada Gambas.

Jika pada komponen TextBox, Pemakaian SelectAll pada script dilakukan dengan sangat sederhana hanya dengan perintah “TextBox1.SelectAll”, namun berbeda dengan komponen seperti ButtonBox atau ComboBox, memerlukan sedikit tambahan perintah, yakni “ButtonBox1.Editor.SelectAll”. Sederhana, tapi jika belum mengetahui caranya tentu mengalami kesulitan mengingat sedikit sekali tutorial Gambas berbahasa Indonesia.

Semoga bermanfaat.

Selasa, 17 April 2018

Cara Menghapus Baris Data (Rows) Pada Tableview ~ Tutorial Gambas


Saat memasukkan data berbaris-baris pada Tableview/Gridview, kemudian karena alasan tertentu kamu ingin menghapus salah satu baris data dari Tableview tersebut. Pada Tableview maupun Gridview Gambas, setahu penulis tidak/belum ada fitur hapus baris yang dapat dilakukan dengan mudah atau dengan perintah sederhana semacam “TableView1.Rows[3].Delete”. Jika ingin menghapus baris tabel maka mesti dengan cara tertentu.
Adapun dasar menghapus table adalah mengatur jumlah jumlah baris yang digunakan.
Misal, terdapat sebuah Tableview yang jumlah barisnya (Rows) 5. Kemudian ingin menghapus 2 baris terakhir, maka cara menghapus sama halnya dengan saat menentukan jumlah baris data:

Public Sub Form_Open()

   ‘mula-mula baris table di tentukan jumlahnya ada 5
   Tableview1.Rows.Count = 5

End

Public Sub Hapus_Click()

   ‘Lalu baris data dikurangi dua, jadi jumlah baris data ada 3
   Tableview1.Rows.Count = 3

End

Maka kedua baris paling akhir terhapus.

Lalu bagaimana jika posisi baris yang akan dihapus posisinya tidak berada paling akhir. Jika demikian maka yang perlu dilakukan adalah memindahkan atau menukar baris data yang akan dihapus ke posisi baris paling akhir.

Misal terdapat atau diset 10 jumlah baris dan 3 jumlah kolom, yang kemudian masing-masing baris dan kolom diisi dengan data.

Public Sub Form_Open()

   ‘mula-mula baris table di tentukan jumlahnya ada 10
   Tableview1.Rows.Count = 10
   Tableview1.Columns.Count = 3

  End

Lalu baris ke 5 ingin dihapus.

Jika tidak memperdulikan semua urutan karakter (sort) pada Tableview maka bisa dilakukan hanya dengan memindahkan/menukar (posisi) data antar dua baris, yakni baris yang ingin dihapus dengan baris yang paling akhir:

Public Sub Hapus_KeyPress()

   ‘Menhapus dengan tombol Del
   If Key.Code = Key.Del Then
     Swap Tableview1[4, 0].Text, Tableview1[9, 0].Text
     Swap Tableview1[4, 1].Text, Tableview1[9, 1].Text
     Swap Tableview1[4, 2].Text, Tableview1[9, 2].Text
   Endif

End

Ingat bahwa baris ke 5 adalah index ke-4, baris 10 = Index 9. (baris n = index n-1)
Swap adalah perintah untuk menukar.

Sedangkan jika menghapus dengan memperdulikan/tidak merubah urutan karakter yang sudah ada pada Table, maka dilakukan penukaran beruntun menggunakan loop.
Alurnya:
Baris beserta masing-masing data pada kolom ditukar dengan baris setelahnya (dibawahnya), begitu seterusnya sampai posisi data yang ingin dihapus berada pada paling akhir.
Setelah posisi data yang ingin dihapus beraada paling akhir, maka jumlah baris pada Tableview dikurangi 1.

Public Sub Hapus_KeyPress()

   Dim n As Integer
   
  ‘Menghapus dengan tombol Del
   If Key.Code = Key.Del Then
     For n = Tableview1.Row To Tableview.Rows.Max - 1
        Swap Tableview1[n, 0].Text, Tableview1[n + 1, 0].Text
        Swap Tableview1[n, 1].Text, Tableview1[n + 1, 1].Text
       Swap Tableview1[n, 2].Text, Tableview1[n + 1, 2].Text
     Next
     ‘Jumlah baris dikurangi
     TableView1.Rows.Count = TableView1.Rows.Count - 1
   Endif

End

TableView1.Row adalah posisi nomor index table yang dipilih(Selected) untuk dihapus.
Tableview.Rows.Max adalah posisi nomor index table paling akhir.

Minggu, 25 Maret 2018

Mengatur dan Merubah Huruf Besar-Kecil (Uppercase-Lowercase) Pada Pemrogaman Bash



Merubah huruf pertama menjadi huruf besar:

kata=”ini hanya tulisan”
echo ${kata^} # Ini hanya tulisan

Merubah huruf kecil ke huruf besar:

kata=”jangan perdulikan aku”
echo ${kata^^} # JANGAN PEDULIKAN AKU

Merubah huruf pertaman menjadi huruf kecil:

kata=”SHOLAT LIMA WAKTU”
echo ${kata,} # sHOLAT LIMA WAKTU

Merubah huruf besar ke huruf kecil:

kata=”PEMROGAMAN baSH”
echo ${kata,,} # pemrogaman bash

Pengaturan huruf pada perintah “red” untuk input menggunakan stty:
Huruf besar:
Cobalah perintah ini, apa yang terjadi?

stty lcase
read tes
echo $tes
a=$(echo $tes)
stty sane
read tes2
echo $tes2
echo $a

Hasil skrip diatas menunjukkan bahwa stty lcase tidak turut menjadikan nilai variabel tes menjadi huruf besar. Hanya menampilkan huruf besar saja.

Sabtu, 03 Maret 2018

Bash Programming: Cara Memberi Teks Input (Standar) Pada Read (Sebelum Pengguna Memasukkan Suatu Kata)


Maksud dari judul diatas ialah pada perintah read, isian input read diberi/disisipi teks pendahuluan sebagai teks standar sebelum pengguna memasukkan suatu kata untuk dijadikan variabel.
Lebih jelasnya langsung kecontoh:
Misalnya diharapkan pengguna memasukkan sebuah teks , namun pada sistem disediakan teks sandar/default yang bisa menjadi awal atau tambahan pada teks yang diinput oleh pengguna.

Contoh skrip:

nama=”Muhammad “
read -ei $nama isi
echo $isi

eksekusi dari skrip tersebut menghasilkan sebuah teks awal “Muhammad” pada input teks, yang kemudian pengguna melanjutkan kata setelah “Muhammad”. Misalnya pengguna memasukkan kata “Jamaludin” setelah kata “Muhammad” yang sebelumnya sudah tersedia, maka variabel $isi bernilai/berisi “Muhammad Jamaludin”.

Adapaun kunci dari memberi kata awalan adal -e -i (bisa digabung -ei). Untuk penjelasan ini bisa dilihat di “help read” di terminal.

Kamis, 08 Februari 2018

3 Cara Pembulatan Pada Pemrogaman Gambas > Ceil(), Floor(), Round()


Pembulatan disini dimaksudkan untuk menghindari bilangan float atau pecahan.

Ceil()
Rumus: Ceil( Value As Float ) As Float
Untuk Pembulatan Keatas
Contoh: Print Ceil(1.2)
Hasil: 2

Floor()
Rumus: Floor( Value As Float ) As Float
Untuk Pembulatan Kebawah
Contoh: Print Floor(1.99)
Hasil: 1

Round()
Rumus: Round( Value As Float, Round As Integer ) As Float
Saya masih bingung pada type “As Float” di akhir, karena pada prakteknya hasilnya merupakan bilangam integer.
Contoh: Print Round(1.6);; Round(1.5);; Round(1.4)
Hasil: 2 2 1
Nb: Pembulatan ketasa dimulai dari 0,5.

Sabtu, 27 Januari 2018

Skrip Cara Membuat Deretan Karakter Bentuk Segi Tiga Menggunakan Pemrogaman Bash


Buka text editor kesukaan, lalu tuliskan script berikut:

read -n 1 -p "masukkan karakter: " masukan

echo

z=5

y=1

for a in `seq $z`; do

     for b in `seq $z`; do

         echo -n " "

     done

     for c in `seq $y`; do

         echo -n "$masukan"

     done

     for d in `seq $[y-1]`; do

         echo -n "$masukan"

     done

     z=$[z-1]

     y=$[y+1]

     echo

done

Simpan di direktori home dengan nama a misalnya.

Hasil: