[Beginner][Materi] Ini Files
+6
=>SandyAtlantic<=
Asuna
greckminas
Pinneaple Studios
zebrakelabu
Kevin Blaze Coolerz
10 posters
Halaman 1 dari 2
Halaman 1 dari 2 • 1, 2
[Beginner][Materi] Ini Files
Ini files adalah sekumpulan file kecil dimana data biasa disave. Extension dari ini files adalah *.ini. Ini files lebih sering dijadikan sebagai Save-Load system dan database.
Cara kerja function ini files:
Pertama, kita harus menyimpan data yang mau kita load suatu saat nanti terlebih dahulu. Caranya menggunakan kode ini_open(filename) sebagai awalan. Contoh: ini_open("Dataku.ini")
Lalu untuk menyimpan data, ada 2 type, yaitu:
1. ini_write_string(section, key, value)
2. ini_write_real(section, key, value)
Perbedaannya hanya pada string dan real. String merupakan nilai dalam bentuk tulisan / string. Contoh: ini_write_string(section, key, "Ini tulisan atau string")
Dan real merupakan nilai dalam bentuk angka.
Contoh: ini_write_real(section, key, 1234567890)
Terlihat jelas kan bedanya?
Lalu, apa itu section dan key?
Section merupakan penggolongan data yang kita simpan.
Contoh:
Hasilnya akan seperti ini bila di save dalam .ini file:
Dan saya rasa Key tidak perlu dijelaskan lagi, sebab sudah saya diterapkan diatas cara menggunakan key. Untuk definisinya silakan buat sendiri
Tapi perlu diingat, dalam 1 section tidak ada nama key yang sama
Lalu, jika sudah disave datanya, yang harus kita lakukan ialah menutup function .ini, dengan cara menggunakan ini_close()
Itulah bagian-bagian dari ini_files, yaitu: open > write > close.
Kemudian bagaimana cara load datanya?
Ganti saja ini_write_ menjadi ini_read_. Function ini_read_ agak berbeda, tapi cuma sedikit kok
ini_read_real(section, key, default)
ini_read_string(section, key, default)
Default merupakan nilai normalnya. Maksudnya gini, jika nilai pada key yang mau dibaca tidak ada pada database ini files, maka nilai yang dibaca adalah nilai pada default. Contoh: (lanjutan dari script diatas) ini_read_string('Golongan Hewan', 'key100', 'Beruang')
Tadi saya cuma menulis sampai key6, tapi yang diminta adalah key100. Jadi apa yang mau dibaca? Gak ada kan? Ya nilai yang dibaca adalah nilai default tadi, yaitu "Beruang".
Tapi kalau function nya cuma begitu ya gak work, jadi gimana dong? Cekidoot !
Yang harus kita lakukan adalah meng-ikutsertakan variable yang mau dikasih nilai.
Contoh: nama_hewan = ini_read_string('Golongan Hewan', 'key100', 'Beruang')
Jadi nama hewan adalah beruang (jika nilai default yang dibaca). Tapi kalo nilai default nya beda dengan nilai yang ada di database gimana? Ya yang dibaca adalah nilai yang ada di database (jika nilai di database exist atau ada )
Exist? Apaan sih itu? Itu lho yang kartu telepon dengan iklan paling kocak
Exist itu berarti ada / data yang diminta itu ada pada database.
Terus, gimana cara pake nya?
Ada 2 function untuk mengecek apakah data tsb ada pada database atau tidak.
1. ini_section_exists(section_yg_dimaksud): untuk cek apakah section/golongan yang dimaksud ada pada database.
2. ini_key_exists(key_yg_dimaksud): bla bla bla key yang dimaksud bla bla bla
Contoh penggunaannya nih
Lalu tinggal 2 function terakhir, yaitu:
1. ini_section_delete(section_yg_dimaksud)
2. ini_key_delete(section, key_yg_dimaksud)
Section pada ini_key_delete berarti section yang mana key tsb berada. Misal, key yang mau dihapus berada pada section "Golongan Tumbuhan", berarti kamu harus isi "Golongan Tumbuhan" pada section nya.
Cara pake nya sih sama aja dengan key_exists, tapi yang ini untuk menghapus lho, jangan salah
Ok, baiklah, sekarang saya akan memberi materi soal yang bisa kamu kerjakan untuk menambah wawasan
Cara pengumpulan materi:
Upload dengan nama file "IniFile - Materi X (by NamaKamu).gmk" ke dropbox atau file hosting lain, lalu koment disini atau kirim via PM.
X = nomor materi yang dikerjakan
Cara kerja function ini files:
Pertama, kita harus menyimpan data yang mau kita load suatu saat nanti terlebih dahulu. Caranya menggunakan kode ini_open(filename) sebagai awalan. Contoh: ini_open("Dataku.ini")
Lalu untuk menyimpan data, ada 2 type, yaitu:
1. ini_write_string(section, key, value)
2. ini_write_real(section, key, value)
Perbedaannya hanya pada string dan real. String merupakan nilai dalam bentuk tulisan / string. Contoh: ini_write_string(section, key, "Ini tulisan atau string")
Dan real merupakan nilai dalam bentuk angka.
Contoh: ini_write_real(section, key, 1234567890)
Terlihat jelas kan bedanya?
Lalu, apa itu section dan key?
Section merupakan penggolongan data yang kita simpan.
Contoh:
- Code:
ini_write_string('Golongan Hewan', "key1", "Kucing")
ini_write_string('Golongan Hewan', "key2", "Tikus")
ini_write_string('Golongan Hewan', "key3", "Kuda")
ini_write_string('Golongan Tumbuhan', "key4", "Jeruk")
ini_write_string('Golongan Tumbuhan', "key5", "Apel")
ini_write_string('Golongan Tumbuhan', "key6", "Nanas")
Hasilnya akan seperti ini bila di save dalam .ini file:
[Golongan hewan]
key1=Kucing
key2=Tikus
key3=Kuda
[Golongan Tumbuhan]
key4=Jeruk
key5=Apel
key6=Nanas
Dan saya rasa Key tidak perlu dijelaskan lagi, sebab sudah saya diterapkan diatas cara menggunakan key. Untuk definisinya silakan buat sendiri
Tapi perlu diingat, dalam 1 section tidak ada nama key yang sama
Lalu, jika sudah disave datanya, yang harus kita lakukan ialah menutup function .ini, dengan cara menggunakan ini_close()
Itulah bagian-bagian dari ini_files, yaitu: open > write > close.
Kemudian bagaimana cara load datanya?
Ganti saja ini_write_ menjadi ini_read_. Function ini_read_ agak berbeda, tapi cuma sedikit kok
ini_read_real(section, key, default)
ini_read_string(section, key, default)
Default merupakan nilai normalnya. Maksudnya gini, jika nilai pada key yang mau dibaca tidak ada pada database ini files, maka nilai yang dibaca adalah nilai pada default. Contoh: (lanjutan dari script diatas) ini_read_string('Golongan Hewan', 'key100', 'Beruang')
Tadi saya cuma menulis sampai key6, tapi yang diminta adalah key100. Jadi apa yang mau dibaca? Gak ada kan? Ya nilai yang dibaca adalah nilai default tadi, yaitu "Beruang".
Tapi kalau function nya cuma begitu ya gak work, jadi gimana dong? Cekidoot !
Yang harus kita lakukan adalah meng-ikutsertakan variable yang mau dikasih nilai.
Contoh: nama_hewan = ini_read_string('Golongan Hewan', 'key100', 'Beruang')
Jadi nama hewan adalah beruang (jika nilai default yang dibaca). Tapi kalo nilai default nya beda dengan nilai yang ada di database gimana? Ya yang dibaca adalah nilai yang ada di database (jika nilai di database exist atau ada )
Exist? Apaan sih itu? Itu lho yang kartu telepon dengan iklan paling kocak
Exist itu berarti ada / data yang diminta itu ada pada database.
Terus, gimana cara pake nya?
Ada 2 function untuk mengecek apakah data tsb ada pada database atau tidak.
1. ini_section_exists(section_yg_dimaksud): untuk cek apakah section/golongan yang dimaksud ada pada database.
2. ini_key_exists(key_yg_dimaksud): bla bla bla key yang dimaksud bla bla bla
Contoh penggunaannya nih
- Code:
ini_open('Dataku.ini')
if ini_section_exists('Golongan Hewan')
{
if ini_key_exists('key100')
{
nama_hewan=ini_read_string('Golongan Hewan', 'key100', 'Beruang')
}
else show_message('key100 tidak ada pada database')
}
else show_message('Golongan hewan tidak ada pada database')
ini_close()
Lalu tinggal 2 function terakhir, yaitu:
1. ini_section_delete(section_yg_dimaksud)
2. ini_key_delete(section, key_yg_dimaksud)
Section pada ini_key_delete berarti section yang mana key tsb berada. Misal, key yang mau dihapus berada pada section "Golongan Tumbuhan", berarti kamu harus isi "Golongan Tumbuhan" pada section nya.
Cara pake nya sih sama aja dengan key_exists, tapi yang ini untuk menghapus lho, jangan salah
Ok, baiklah, sekarang saya akan memberi materi soal yang bisa kamu kerjakan untuk menambah wawasan
- Materi 1:
Tingkat kesulitan = 10%
Buatlah system save database menggunakan .ini files ketika menekan tombol spasi.
Nama ini files = "Data hewan dan buah.ini"
Data pada ini files:
-Buatlah 2 buah section, dengan nama "Gol. Hewan", dan "Gol. Buah"
-Buatlah 5 buah key untuk hewan, dan 5 buah key untuk buah (nama key & value nya bebas).
-Key untuk hewan dibuat di section "Gol. Hewan", begitu juga dengan buah, buat di section "Gol. Buah"
- Materi 2:
Tingkat kesulitan = 15%
Buatlah seperti Materi 1, lalu pada saat menekan tombol Z, maka salah satu key pada Gol. Hewan di hapus.
Dan pada saat menekan tombol X, maka salah satu key pada Gol. Buah dihapus
Note: key yang dihapus itu bebas mau yang mana.
- Materi 3:
- TK (tingkat kesulitan) = 45%
Dari materi 1, jika tekan tombol A, maka cek apakah "key10" pada Gol. Hewan ada dalam database. Lalu jika tidak ada maka:
- Tampilkan pesan / show_message bahwa key10 tidak ada dalam database
- Tambah key10 dalam Gol. Hewan dengan nama hewan "Badak" (nama key tetap "key10")
Tapi jika key10 ada dalam database, maka:
- Tampilkan pesan / show_message bahwa key10 ada dalam database
- Tambah key11 dalam Gol. Buah dengan nama buah "kiwi"
- Hapus key pertama dalam Gol. Buah
Hint:
1. Gunakan "key10" untuk nama key nya, jangan diubah
2. Untuk menghapus key pertama, gunakan function ini_key_exist utk cek apakah key pertama sudah dihapus atau belum. Jika sudah, maka key yang ke2 yg di hapus (ketika tekan tombol A lagi), dst
- Materi 4:
Cara pengumpulan materi:
Upload dengan nama file "IniFile - Materi X (by NamaKamu).gmk" ke dropbox atau file hosting lain, lalu koment disini atau kirim via PM.
X = nomor materi yang dikerjakan
Terakhir diubah oleh Kevin Blaze Coolerz tanggal Fri 22 Mar 2013, 15:45, total 13 kali diubah
Re: [Beginner][Materi] Ini Files
weh nice share
tapi apa ngga intermediate aja nih? karena kalo ngomong ini file (ato ngomong file apapun) itu harus kita bicarakan sedikit tentang aktual operasi file nya. tersimpan dimana misalnya secara file? kalo bikinnya pake gm studio, tiap platform beda. konsepnya sama yaitu "sandboxing" yang juga masi perlu dijelaskan lagi... agak banyak
tambahan, untuk mengikutkan ini file dalam project maka bisa pakai perintah include di resource tree. tolong cek (lagi ga ada GM)
yah untuk beginner ya berarti for windows aja ) ngga usah banyak dipikirin.
Re: [Beginner][Materi] Ini Files
thx om mohon baca rules ny om, biar tau aja kalo yg boleh koment disini hrus ad alasan khusus (om msih ksih saran, jdi nevermind lh)
iya ini lbih dikhusus kan utk beginner, tpi bkan berarti yg sdh di atas beginner gk boleh belajar, tetep ada kok materi yg sulit, yg mngkin cma intermediate yg bsa lakuin nya (akan dibuat suatu saat)
ini file sih mnurut ku gk usah di ikutsertakan (dlm Included File mngkin), cz ini file bsa di buat scara instant dgn smua nilai default nya
iya ini lbih dikhusus kan utk beginner, tpi bkan berarti yg sdh di atas beginner gk boleh belajar, tetep ada kok materi yg sulit, yg mngkin cma intermediate yg bsa lakuin nya (akan dibuat suatu saat)
ini file sih mnurut ku gk usah di ikutsertakan (dlm Included File mngkin), cz ini file bsa di buat scara instant dgn smua nilai default nya
Re: [Beginner][Materi] Ini Files
oi ternyata sudah mulai pembelajaran, sori deh kirain ini masi di tutorial
hmmm berarti kalo mo komen langsung pm aja ya
hmmm berarti kalo mo komen langsung pm aja ya
Re: [Beginner][Materi] Ini Files
zebrakelabu wrote:oi ternyata sudah mulai pembelajaran, sori deh kirain ini masi di tutorial
hmmm berarti kalo mo komen langsung pm aja ya
komen cma utk bertanya ssuatu yg kurang jelas, ksih saran / tanggapan (mngkin ada yg salah di penjelasan ny), dan jika mau mngumpul materi
Re: [Beginner][Materi] Ini Files
Materi 4
TK (tingkat kesulitan) = 80%
Membuat remote login sederhana...
1. Buat lah 2 buah global variable, dengan nama global.name = "", dan global.pass = ""
2. di event Tekan Spasi, taruh kode di bawah ini:
3. Pada bagian *script*, isi script untuk save global.name dan global.pass ke database (Ini file)
4. Ketika tekan tombol Z, isi script untuk cek apakah nama & pass yg baru di enter user sama dgn yg ada di database. Jika sama, show_message("Login successful"), tapi kalo gk sama maka show_message('Username or pass is invalid')
Hint:
Untuk point 3 atau *script*, untuk bisa men-save lebih dari 1 akun, maka perlu dibuat cara yg berbeda, yaitu dengan menggunakan global.name sebagai key nya
Untuk point 4, gunakan function ini_read_ , lalu cocokan dgn string yang baru di enter oleh user dgn yg ada di database. Jika cocok, kembali cocokan pass yg di enter user dgn pass yg ada dalam database.
TK (tingkat kesulitan) = 80%
Membuat remote login sederhana...
1. Buat lah 2 buah global variable, dengan nama global.name = "", dan global.pass = ""
2. di event Tekan Spasi, taruh kode di bawah ini:
- Code:
name = get_string('Enter your new name','')
if name != ""
{
global.name = name
pass = get_string('Enter your new password','')
if pass != ""
{
global.pass = pass
//Isi script mu disini (baca point 3) *script*
show_message('Your account has created')
} else game_restart()
} else game_restart()
3. Pada bagian *script*, isi script untuk save global.name dan global.pass ke database (Ini file)
4. Ketika tekan tombol Z, isi script untuk cek apakah nama & pass yg baru di enter user sama dgn yg ada di database. Jika sama, show_message("Login successful"), tapi kalo gk sama maka show_message('Username or pass is invalid')
Hint:
Untuk point 3 atau *script*, untuk bisa men-save lebih dari 1 akun, maka perlu dibuat cara yg berbeda, yaitu dengan menggunakan global.name sebagai key nya
Untuk point 4, gunakan function ini_read_ , lalu cocokan dgn string yang baru di enter oleh user dgn yg ada di database. Jika cocok, kembali cocokan pass yg di enter user dgn pass yg ada dalam database.
Re: [Beginner][Materi] Ini Files
minta cek boleh g' om?
Ini Save-Load System
Ini Save-Load System
Pinneaple Studios- GM Intermediate
-
Jumlah posting : 839
Points : 980
Join date : 06.01.13
Age : 22
Lokasi : Depok :D
Re: [Beginner][Materi] Ini Files
saya msih bingung om bedanya _ _real
sama
_ _string
sama
_ _string
Pinneaple Studios- GM Intermediate
-
Jumlah posting : 839
Points : 980
Join date : 06.01.13
Age : 22
Lokasi : Depok :D
Re: [Beginner][Materi] Ini Files
Pinneaple Studios wrote:saya msih bingung om bedanya _ _real
sama
_ _string
real itu angka
string itu tulisan
contoh:
real >>> a = 99999
string >>> a = "tulisan"
Re: [Beginner][Materi] Ini Files
duh! pantesan nulis "Blaabla" pakenya _real
ngerror
ngerror
Pinneaple Studios- GM Intermediate
-
Jumlah posting : 839
Points : 980
Join date : 06.01.13
Age : 22
Lokasi : Depok :D
Re: [Beginner][Materi] Ini Files
Pinneaple Studios wrote:duh! pantesan nulis "Blaabla" pakenya _real
ngerror
kalo udah prnah salah pasti gk akan salah lgi
Re: [Beginner][Materi] Ini Files
Thanks a lot Mas Kevin
gara-gara ini jadi maju, dan bisa menyatukan ilmunya yg diberi mas kevin buat tutorial
gara-gara ini jadi maju, dan bisa menyatukan ilmunya yg diberi mas kevin buat tutorial
Pinneaple Studios- GM Intermediate
-
Jumlah posting : 839
Points : 980
Join date : 06.01.13
Age : 22
Lokasi : Depok :D
Re: [Beginner][Materi] Ini Files
Pinneaple Studios wrote:Thanks a lot Mas Kevin
gara-gara ini jadi maju, dan bisa menyatukan ilmunya yg diberi mas kevin buat tutorial
ok, sma
jgn lupa yg materi 4 / remote login juga di kerjakan
Re: [Beginner][Materi] Ini Files
@KBC=seep mas lagi dibikin
Pinneaple Studios- GM Intermediate
-
Jumlah posting : 839
Points : 980
Join date : 06.01.13
Age : 22
Lokasi : Depok :D
Re: [Beginner][Materi] Ini Files
^
materinya tentang Ini Files bkn? kalo bukan jangan post disini
materinya tentang Ini Files bkn? kalo bukan jangan post disini
Asuna- Global Moderator
-
Jumlah posting : 1711
Points : 1901
Join date : 10.01.13
Re: [Beginner][Materi] Ini Files
ok, ak cek
-----EDIT------
Sudah ak cek, & saya nyatakan anda telah lulus tes materi 1 dan 2
btw knp gk ksih .gmk ny aja? kalo takut di contek ya kirim via PM aja, biar gk gede aku download ny
kyk ny sih iyaAsuna wrote:^
materinya tentang Ini Files bkn? kalo bukan jangan post disini
Re: [Beginner][Materi] Ini Files
err... sorry kirain ngeshare materi baru, nama filenya gitu sih
btw udah aku coba juga
btw udah aku coba juga
Asuna- Global Moderator
-
Jumlah posting : 1711
Points : 1901
Join date : 10.01.13
Re: [Beginner][Materi] Ini Files
@grecminas:
udah di download file .exe ny
utk selanjut ny di share .gmk ny aja
udah di download file .exe ny
utk selanjut ny di share .gmk ny aja
Halaman 1 dari 2 • 1, 2
Similar topics
» Request Materi
» [Beginner-Intermediate] String
» [Beginner-Intermediate] file_find()
» [Beginner-Intermediate] Random number
» [Beginner] Commenting
» [Beginner-Intermediate] String
» [Beginner-Intermediate] file_find()
» [Beginner-Intermediate] Random number
» [Beginner] Commenting
Halaman 1 dari 2
Permissions in this forum:
Anda tidak dapat menjawab topik