learnxinyminutes-docs/id/smallbasic.md

131 lines
3.5 KiB
Markdown
Raw Normal View History

---
filename: learnsmallbasic-id.bas
contributors:
- ["Chris Warren-Smith", "http://smallbasic.sourceforge.net"]
translators:
- ["Rizky Luthfianto", "http://github.com/rilut"]
---
## Tentang
SmallBASIC adalah *interpreter* bahasa BASIC yang mudah dan cepat dipelajari yang ideal untuk perhitungan sehari-hari, skrip dan prototipe. Fitur SmallBASIC termasuk trigonometri, matriks dan fungsi aljabar, yang dibangun di IDE, *library* string yang canggih, sistem, suara, dan perintah grafis bersama dengan sintaks pemrograman terstruktur.
## Pengembangan
SmallBASIC pada awalnya dikembangkan oleh Nicholas Christopoulos pada akhir tahun 1999 untuk Palm Pilot. pengembangan proyek telah dilanjutkan oleh Chris Warren-Smith sejak sekitar tahun 2005.
Versi SmallBASIC telah dibuat untuk sejumlah perangkat genggam termasuk Franklin eBookman dan Nokia 770. Juga berbagai versi desktop yang telah dirilis berdasarkan berbagai GUI. Platform yang didukung saat ini adalah Linux dan Windows berbasis SDL2 dan Android berbasis NDK. Sebuah versi baris perintah pada desktop juga tersedia, meskipun tidak biasanya dirilis dalam bentuk biner.
Sekitar tahun 2008, sebuah perusahaan merilis lingkungan pemrograman BASIC dengan nama yang mirip. SmallBASIC tidak berhubungan dengan itu.
```
REM ini adalah komentar
'dan ini juga komentar
REM mencetak kalimat
print "halo"
? "Tanda ? adalah singkatan dari PRINT"
REM Struktur kontrol
FOR index = 0 TO 10 STEP 2
  ? "Ini adalah nomor baris"; indeks
NEXT
J=0
REPEAT
J++
UNTIL J=10
WHILE J>0
J--
WEND
REM Pernyataan "Select case"
Select Case "Cool"
Case "null", 1,2,3,4,5,6,7,8,"Cool","blah"
Case "Not cool"
PRINT "Epic fail"
Case Else
PRINT "Fail"
End Select
REM menangkap kesalahan dengan TRY / CATCH
Try
fn = Freefile
Open filename For Input As #fn
Catch err
Print "gagal membuka file"
End Try
REM Fungsi dan subrutin buatan pengguna
func add2(x, y)
  'Variabel dapat dinyatakan sebagai lokal dalam lingkup/scope dari SUB atau FUNC
  local k
  k = "k akan lenyap ketika FUNC ini mengembalikan nilai"
  add2 = x + y
akhir
Print add2(5,5)
sub cetak_ini(ini)
print ini
end
cetak_ini "INI"
REM Menampilkan garis dan piksel
At 0,ymax/2+txth("Q")
Color 1: ? "sin(x)":
Color 8: ? "cos(x)":
Color 12: ? "tan(x)"
Line 0,ymax/2,xmax,ymax/2
For i=0 to xmax
Pset i,ymax/2-sin(i*2*pi/ymax)*ymax/4 color 1
Pset i,ymax/2-cos(i*2*pi/ymax)*ymax/4 color 8
Pset i,ymax/2-tan(i*2*pi/ymax)*ymax/4 color 12
Next
showpage
REM SmallBASIC cocok untuk bereksperimen dengan fraktal dan efek menarik lainnya
Delay 3000
Randomize
ff = 440.03
For j = 0 to 20
r = rnd * 1000 % 255
b = rnd * 1000 % 255
g = rnd * 1000 % 255
c = rgb(r,b,g)
ff += 9.444
for i=0 to 25000
f += ff
x = min(xmax, -x + cos(f*i))
y = min(ymax, -y + sin(f*i))
pset x, y color c
if (i%1000==0) then
showpage
fi
next
Next j
REM Untuk sejarawan komputer, SmallBASIC dapat menjalankan program
REM dari buku dan majalah komputer lama, misalnya:
10 LET A=9
20 LET B=7
30 PRINT A*B
40 PRINT A/B
REM SmallBASIC juga memiliki dukungan untuk beberapa konsep modern seperti JSON
aa = array("{\"kucing\":{\"nama\":\"harry\"},\"peliharaan\":\"true\"}")
If (ismap(aa) == false) Then
throw "bukan tipe data map"
End If
Print aa
PAUSE
```
## Artikel
* [Persiapan](http://smallbasic.sourceforge.net/?q=node/1573)
* [Selamat Datang di SmallBASIC](http://smallbasic.sourceforge.net/?q=node/838)
## GitHub
* [Source code](https://github.com/smallbasic/SmallBASIC)
* [Referensi snapshot](http://smallbasic.github.io/)