From 8c01c34e810c2b7b3527ce3304c4ebca3a2bf69f Mon Sep 17 00:00:00 2001 From: aabyl Date: Fri, 10 Aug 2018 11:20:44 +0700 Subject: [PATCH] Initial commit --- ti-165410142/ti-165410142.capnp | 21 +++++++++++++++++ ti-165410142/ti-165410142.py | 42 +++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 ti-165410142/ti-165410142.capnp create mode 100644 ti-165410142/ti-165410142.py diff --git a/ti-165410142/ti-165410142.capnp b/ti-165410142/ti-165410142.capnp new file mode 100644 index 0000000..0a96bab --- /dev/null +++ b/ti-165410142/ti-165410142.capnp @@ -0,0 +1,21 @@ +@0x934efea7f017fff0; + +const qux :UInt32 = 123; + +struct Mahasiswa { + id @0 :UInt32; + nama @1 :Text; + nim @2 :Text; + komplain @3 :List(KomplainNilai); + + struct KomplainNilai { + mataKuliah @0 :Text; + nilaiPantas @1 :Text; + alasan @2 :Text; + + } +} + +struct Kcc { + people @0 :List(Mahasiswa); +} \ No newline at end of file diff --git a/ti-165410142/ti-165410142.py b/ti-165410142/ti-165410142.py new file mode 100644 index 0000000..aa2a2ed --- /dev/null +++ b/ti-165410142/ti-165410142.py @@ -0,0 +1,42 @@ +from __future__ import print_function +import os +import capnp + +capnp.remove_import_hook() +kcc_capnp = capnp.load('ti-165410142.capnp') + + +def writeKcc(file): + kcc = kcc_capnp.Kcc.new_message() + people = kcc.init('people', 1) + + bilal = people[0] + bilal.nama = 'Muhammad Bilal Shah' + bilal.nim = '165410142' + bilalKomplain = bilal.init('komplain', 1) + bilalKomplain[0].mataKuliah = "Konsep Cloud Computing" + bilalKomplain[0].nilaiPantas = 'B' + bilalKomplain[0].alasan = 'Saya rajin berangkat, presensi saya baik, d atas 80%, selalu mengikuti kuliah dari awal sampai akhir, mendengarkan dengan baik kuliah bapak, dan beberapa teman yang sama seperti saya juga mendapatkan nilai B walau tidak maju presentasi ke depan.' + + + kcc.write(file) + + +def printKcc(file): + kcc = kcc_capnp.Kcc.read(file) + + for mahasiswa in kcc.people: + print('Nama = ',mahasiswa.nama) + print('Nim = ',mahasiswa.nim) + for komplain in mahasiswa.komplain: + print('Mata Kuliah = ',komplain.mataKuliah) + print('Nilai yang pantas saya dapatkan = ',komplain.nilaiPantas) + print('Alasan = ',komplain.alasan) + + +if __name__ == '__main__': + f = open('hasil', 'w') + writeKcc(f) + + f = open('hasil', 'r') + printKcc(f) \ No newline at end of file