-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: menambahkan materi tipe data (#2)
* chore: update tutorial zig - menambah tutorial tentang tipe data - memperbaiki nama hello_world hello_world Signed-off-by: slowy07 <slowy.arfy@gmail.com> * fix: menghapus Signed-off-by: slowy07 <slowy.arfy@gmail.com> --------- Signed-off-by: slowy07 <slowy.arfy@gmail.com>
- Loading branch information
Showing
7 changed files
with
141 additions
and
1 deletion.
There are no files selected for viewing
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
# Pendahuluan | ||
|
||
Tipe data adalah klasifikasi data. Tipe data menentukan jenis sebuah variabel. Variabel sendiri adalah sebuah wadah untuk menyimpan data. pada zig terdapat banyak tipe data dan ukuran dari sebuah tipe data itu sendiri, antara lain: | ||
|
||
- **integer** | ||
ini adalah tipe data yang digunakan untuk menyimpan bilangan bulat, baik yang positif maupun negatif, tipe data ini tidak memiliki komponen pecahan, dalam bahasa pemograman zig, tipe data integer direpresentasikan dengan huruf `i` diikuti dengan ukurannya, misalnya tipe data dengan ukuran 32 bit bisa direpresentasikan dengan `i32` (rentang nilai dari `i8` sampai i128), contoh | ||
|
||
```zig | ||
const std = @import("std"); | ||
pub fn main() void { | ||
// tipe data integer 8 bit | ||
const angka8: i8 = 12; | ||
// memanggil variable `angka8` | ||
std.debug.print("angka dari variable `angka8` dengan rentang 8 bit: {:} ", .{angka8}); | ||
} | ||
``` | ||
contoh bisa dilihat [disini](tipeDataInteger.zig) untuk panjang dari tipe data integer. | ||
zig juga memberikan model tipe data lainnya yaitu unsigned yang direpresentasikan dengan `u`, tipe data ini adalah tipe data integer yang hanya menyimpan nilai positif, tipe data ini tidak akan menyimpan nilai negatif (`nilai kurang dari 0`), rentang nilai yang dapat disimpan oleh tiep adata unsigned ini juga bergantung pada ukurannya. contoh | ||
```zig | ||
const std = @import("std"); | ||
pub fn main() void { | ||
// tipe data integer 8 bit | ||
const angkaU8: u8 = 30; | ||
// memanggil variable `angkaU8` | ||
std.debug.print("angka dari variable `angkaU8` dengan rentang 8 bit: {:} ", .{angkaU8}); | ||
} | ||
``` | ||
contoh bisa dilihat [disini](tipeDataInteger.zig) untuk panjang tipe data unsigned integer | ||
- **bool** | ||
bool adalah tipe data hanya dapat menyimpan dua nilai, yaitu ``true`` dan ``false``, tipe data ini juga sering digunakan untuk menyimpan nilai logika, seperti benar atau salah, aktif atau tidak aktif, contoh | ||
```zig | ||
const std = @import("std"); | ||
pub fn main() void { | ||
// tipe data bool | ||
const hujan: bool = false; | ||
// memanggil variable `hujan` | ||
std.debug.print("apakah hujan harini ini?, jawabannya adalah {:} ", .{hujan}); | ||
} | ||
``` | ||
contoh bisa dilihat [disini](tipeDataBool.zig) untuk mengetahui contoh kode dari tipe data bool | ||
- **float** | ||
float adalah tipe data yang digunakan untuk menyimpan bilangan pecahan, tipe data ini memiliki model pecehan yang dapat menyimpan nilai yang sangat kecil atau sangat besar, rentang nilai yang dapat disimpan float bergantung pada ukurannya, dalam zig, tipe data float direpresentasikan dengan `f` diikuti dengan ukurannya, dimulai pada `f32` hingga `f128` (terdapat juga `f80` yaitu ukuran 80 bit untuk standar presisi nilai float), contoh | ||
```zig | ||
const std = @import("std"); | ||
pub fn main() void { | ||
// contoh nilai float 32 bit | ||
const nilai_ipk: f32 = 123.0E+77; | ||
// memanggil variable `nilai_ipk` | ||
std.debug.print("nilai ipk dari pace adalah {:} ", .{nilai_ipk}); | ||
} | ||
``` | ||
contoh bisa dilihat [disini](tipeDataFloat.zig) untuk mengetahui contoh dari tipe data float | ||
- **char** | ||
`char` adalah tipe data yang digunakan untuk menyimpan karakter tunggal, karakter bisa berupa huruf, angka, simbol, tanda baca, spasi. tipe data `char` direpresentasikan dengan kata kunci `c_char` | ||
```zig | ||
const std = @import("std"); | ||
pub fn main() void { | ||
// membuat tipe data char | ||
const huruf = 'B'; | ||
std.debug.print("setelah huruf A maka keluar huruf: {c}\n", .{huruf}); | ||
} | ||
``` | ||
contoh bisa dilihat [disini](tipeDataChar.zig) untuk mengetahui contoh dari tipe data char | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
const std = @import("std"); | ||
|
||
pub fn main() void { | ||
// tipe data integer 8 bit | ||
const hujan: bool = true; | ||
// memanggil variable `angka8` | ||
std.debug.print("apakah hujan hari ini?, jawabannya adalah: {:}\n", .{hujan}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
const std = @import("std"); | ||
|
||
pub fn main() void { | ||
// membuat tipe data char | ||
const huruf = 'B'; | ||
const nilai_heksadesimal = '\x65'; | ||
// memanggil variable | ||
std.debug.print("setelah huruf A maka keluar huruf: {c}\n", .{huruf}); | ||
std.debug.print("nilai heksadesimal dari 0x65 adalah {c}\n", .{nilai_heksadesimal}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
const std = @import("std"); | ||
|
||
pub fn main() void { | ||
// membuat nilai flaot dengan panjang 16 bit hingga 128 bit | ||
const nilai_ipk: f16 = 132.0E+11; | ||
const nilai_pelajaran: f32 = 332.2731233; | ||
const nilai_sosial: f64 = 452.92472781; | ||
const nilai_olahraga: f80 = 763.23344; | ||
const nilai_pi: f128 = 3.14159265358979323846; | ||
|
||
// memanggil variabel | ||
std.debug.print("nilai ipk pace adalah: {:}\n", .{nilai_ipk}); | ||
std.debug.print("nilai pelajaran pace adalah: {:}\n", .{nilai_pelajaran}); | ||
std.debug.print("nilai pelajaran sosial pace adalah: {:}\n", .{nilai_sosial}); | ||
std.debug.print("nilai pelajaran olahraga pace: {:}\n", .{nilai_olahraga}); | ||
std.debug.print("nilai pi adalah: {:}\n", .{nilai_pi}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
const std = @import("std"); | ||
|
||
pub fn main() void { | ||
// tipe data integer 8 bit hingga 128 bit | ||
var angka8: i8 = 12; | ||
var angka16: i16 = 120; | ||
var angka32: i32 = 12000; | ||
var angka64: i64 = 1122000; | ||
var angka128: i128 = 1172636251523211232; | ||
|
||
std.debug.print("angka dari variable `angka8` dengan rentang 8 bit: {:}\n", .{angka8}); | ||
std.debug.print("angka dari variable `angka16` dengan rentang 16 bit: {:}\n", .{angka16}); | ||
std.debug.print("angka dari variable `angka32` dengan rentang 32 bit: {:}\n", .{angka32}); | ||
std.debug.print("angka dari variable `angka64` dengan rentang 64 bit: {:}\n", .{angka64}); | ||
std.debug.print("angka dari variable `angka128` dengan rentang 128 bit: {:}\n\n", .{angka128}); | ||
|
||
// tipe data unsigned dari 8 bit hingga 128 bit | ||
var angkaU8: u8 = 20; | ||
var angkaU16: u16 = 500; | ||
var angkaU32: u32 = 1726417242; | ||
var angkaU64: u64 = 164512859282755234; | ||
var angkaU128: u128 = 928756266578699928456116; | ||
std.debug.print("angka dari variable `angkaU8` dengan rentang 8 bit: {:}\n", .{angkaU8}); | ||
std.debug.print("angka dari variable `angkaU16` dengan rentang 16 bit: {:}\n", .{angkaU16}); | ||
std.debug.print("angka dari variable `angkaU32` dengan rentang 32 bit: {:}\n", .{angkaU32}); | ||
std.debug.print("angka dari variable `angkaU64` dengan rentang 64 bit: {:}\n", .{angkaU64}); | ||
std.debug.print("angka dari variable `angkaU128` dengan rentang 128 bit: {:}\n", .{angkaU128}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters