Upgrade Skill Di ITBOX Jadi Lebih Hemat
Special Diskon 50%
Sampai 16 November 2026!
Hari
Jam
Menit
Detik
GARUDABOX

Forum Replies Created

Viewing 8 posts - 31 through 38 (of 38 total)
  • Author
    Posts
  • in reply to: praktik provider par 3 ( error terakhir di rubah null ) #103314
    Aris Sugiyono
    Participant

      note_item.dart

      import 'package:flutter/material.dart';
      import 'package:praktik_state_management/icons/icon_pin.dart';
      import 'package:praktik_state_management/models/note.dart';
      import 'package:praktik_state_management/provider/notes.dart';
      import 'package:praktik_state_management/screens/add_or_detail_screen.dart';
      import 'package:provider/provider.dart';
      
      class NoteItem extends StatefulWidget {
        //NoteItem({Key? key}) : super(key: key);
      
        final String id;
      
        NoteItem({
          @required this.id,
        });
      
        @override
        State<NoteItem> createState() => _NoteItemState();
      }
      
      class _NoteItemState extends State<NoteItem> {
        @override
        Widget build(BuildContext context) {
          final notesProvider = Provider.of<Notes>(context, listen: false);
          Note note = notesProvider.getNote(widget.id);
          return GestureDetector(
            onTap: () => Navigator.of(context)
                .pushNamed(addOrDetailScreen.routeName, arguments: note.id),
            child: GridTile(
              header: Align(
                  alignment: Alignment.topRight,
                  child: IconButton(
                    onPressed: () {
                      notesProvider.toogleIsPinned(note.id);
                    },
                    icon: Icon(note.isPinned ? Icon_pin.pin : Icon_pin.pin_outline),
                  )),
              child: Container(
                  decoration: BoxDecoration(
                    border: Border.all(),
                    borderRadius: BorderRadius.circular(10),
                  ),
                  child: Text(note.updateAt.toString())),
              footer: ClipRRect(
                borderRadius: BorderRadius.only(
                    bottomLeft: Radius.circular(10),
                    bottomRight: Radius.circular(10)),
                child: GridTileBar(
                  title: Text(note.title),
                  backgroundColor: Colors.grey,
                ),
              ),
            ),
          );
        }
      }
      
      in reply to: praktik provider par 3 ( error terakhir di rubah null ) #103313
      Aris Sugiyono
      Participant

        notes.dart

        import 'package:flutter/cupertino.dart';
        import 'package:praktik_state_management/models/note.dart';
        
        class Notes with ChangeNotifier {
          List<Note> _notes = [
            Note(
              id: 'N1',
              title: 'Catatan Materi Flutter',
              note:
                  'Flutter merupakan Software Development Kit (SDK) yang bisa membantu developer dalam membuat aplikasi mobile cross platform. Kelas ini akan mempelajari pengembangan aplikasi mobile yang dapat dijalankan baik di IOS maupun di Android',
              updatedAt: DateTime.parse('2021-05-19 20:33:33'),
              createdAt: DateTime.parse('2021-05-19 20:33:33'),
            ),
            Note(
              id: 'N2',
              title: 'Target Pembelajaran Flutter',
              note:
                  'Peserta dapat mengembangkan aplikasi mobile (IOS dan Android) menggunakan flutter,\nPeserta memahami konsep pengembangan aplikasi menggunakan flutter,\nPeserta dapat menjalankan aplikasi mobile di IOS dan Android ataupun Emulator,\nPeserta memahami bahasa pemrograman Dart,\nPeserta dapat mendevelop aplikasi mobile menggunakan flutter dan dart dari dasar secara berurutan.',
              updatedAt: DateTime.parse('2021-05-20 20:53:33'),
              createdAt: DateTime.parse('2021-05-20 20:53:33'),
            ),
            Note(
              id: 'N3',
              title: 'Belajar Flutter di ITBOX',
              note: 'Jangan lupa belajar flutter dengan video interactive di ITBOX.',
              updatedAt: DateTime.parse('2021-05-20 21:22:33'),
              createdAt: DateTime.parse('2021-05-20 21:22:33'),
            ),
            Note(
              id: 'N4',
              title: 'Resep nasi goreng',
              note:
                  'Nasi putih 1 piring\nBawang putih 2 siung, cincang halus\nKecap manis atau kecap asin sesuai selera\nSaus sambal sesuai selera\nSaus tiram sesuai selera\nGaram secukupnya\nKaldu bubuk rasa ayam atau sapi sesuai selera\nDaun bawang 1 batang, cincang halus\nTelur ayam 1 butir\nSosis ayam 1 buah, iris tipis\nMargarin atau minyak goreng 3 sdm.',
              updatedAt: DateTime.parse('2021-05-20 21:51:33'),
              createdAt: DateTime.parse('2021-05-20 21:51:33'),
            ),
          ];
        
          List<Note> get notes {
            List<Note> tempListNote = _notes.where((note) => note.isPinned).toList();
            tempListNote.addAll(_notes.where((note) => !note.isPinned).toList());
            return tempListNote;
          }
        
          void toogleIsPinned(String id) {
            int index = _notes.indexWhere((note) => note.id == id);
            if (index >= 0) {
              _notes[index].isPinned = !_notes[index].isPinned;
              notifyListeners();
            }
          }
        
          void addNote(Note note) {
            _notes.add(note);
            notifyListeners();
          }
        
          Note getNote(String id) {
            return _notes.firstWhere((note) => note.id == id);
          }
        }
        in reply to: title dan note tidak tampil ( global state ) #51864
        Aris Sugiyono
        Participant

          beda = sama : aja bisa beda hasil ya coach hehehe

          in reply to: title dan note tidak tampil ( global state ) #51863
          Aris Sugiyono
          Participant

            siap sudah bisa coach, terima kasih.

            in reply to: title dan note tidak tampil ( global state ) #51793
            Aris Sugiyono
            Participant

              import ‘package:flutter/material.dart’;
              import ‘package:flutter/cupertino.dart’;
              import ‘package:praktik_state_management/models/note.dart’;
              import ‘package:praktik_state_management/widgets/note_item.dart’;

              class NoteGrid extends StatefulWidget {
              //Note({Key? key}) : super(key: key);

              final List<Note> listNote;
              final Function(String id) toogleisPinnedFn;

              NoteGrid(this.listNote, this.toogleisPinnedFn);
              @override
              State<NoteGrid> createState() => _NoteState();
              }

              class _NoteState extends State<NoteGrid> {
              @override
              Widget build(BuildContext context) {
              List<Note> TempListNote =
              widget.listNote.where((note) => note.isPinned).toList();
              TempListNote.addAll(
              widget.listNote.where((note) => !note.isPinned).toList());
              return Padding(
              padding: EdgeInsets.all(10),
              child: GridView.builder(
              // listview menampilan dan merender data yg ada di layar
              itemCount: TempListNote.length,
              itemBuilder: (context, index) => NoteItem(
              id: TempListNote[index].id,
              title: TempListNote[index].title,
              note: TempListNote[index].note,
              isPinned: TempListNote[index].isPinned,
              toggleIsPinnedFn: widget.toogleisPinnedFn),
              gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
              crossAxisCount: 2,
              crossAxisSpacing: 8,
              mainAxisSpacing: 8,
              ),
              ),
              );
              }
              }

              in reply to: title dan note tidak tampil ( global state ) #51792
              Aris Sugiyono
              Participant

                import ‘package:flutter/material.dart’;
                import ‘package:flutter/cupertino.dart’;
                import ‘package:praktik_state_management/models/note.dart’;
                import ‘package:praktik_state_management/screens/add_note_screen.dart’;
                import ‘package:praktik_state_management/widgets/note_grid.dart’;

                class HomeScreen extends StatefulWidget {
                //HomeScreen({Key? key}) : super(key: key);

                @override
                State<HomeScreen> createState() => _HomeScreenState();
                }

                class _HomeScreenState extends State<HomeScreen> {
                List<Note> _listNote = [
                Note(
                id: ‘N1’,
                title: ‘Catatan Materi Flutter’,
                note:
                ‘Flutter merupakan Software Development Kit (SDK) yang bisa membantu developer dalam membuat aplikasi mobile cross platform. Kelas ini akan mempelajari pengembangan aplikasi mobile yang dapat dijalankan baik di IOS maupun di Android’,
                updatedAt: DateTime.parse(‘2021-05-19 20:33:33’),
                createdAt: DateTime.parse(‘2021-05-19 20:33:33’),
                ),
                Note(
                id: ‘N2’,
                title: ‘Target Pembelajaran Flutter’,
                note:
                ‘Peserta dapat mengembangkan aplikasi mobile (IOS dan Android) menggunakan flutter,\nPeserta memahami konsep pengembangan aplikasi menggunakan flutter,\nPeserta dapat menjalankan aplikasi mobile di IOS dan Android ataupun Emulator,\nPeserta memahami bahasa pemrograman Dart,\nPeserta dapat mendevelop aplikasi mobile menggunakan flutter dan dart dari dasar secara berurutan.’,
                updatedAt: DateTime.parse(‘2021-05-20 20:53:33’),
                createdAt: DateTime.parse(‘2021-05-20 20:53:33’),
                ),
                Note(
                id: ‘N3’,
                title: ‘Belajar Flutter di ITBOX’,
                note: ‘Jangan lupa belajar flutter dengan video interactive di ITBOX.’,
                updatedAt: DateTime.parse(‘2021-05-20 21:22:33’),
                createdAt: DateTime.parse(‘2021-05-20 21:22:33’),
                ),
                Note(
                id: ‘N4’,
                title: ‘Resep nasi goreng’,
                note:
                ‘Nasi putih 1 piring\nBawang putih 2 siung, cincang halus\nKecap manis atau kecap asin sesuai selera\nSaus sambal sesuai selera\nSaus tiram sesuai selera\nGaram secukupnya\nKaldu bubuk rasa ayam atau sapi sesuai selera\nDaun bawang 1 batang, cincang halus\nTelur ayam 1 butir\nSosis ayam 1 buah, iris tipis\nMargarin atau minyak goreng 3 sdm.’,
                updatedAt: DateTime.parse(‘2021-05-20 21:51:33’),
                createdAt: DateTime.parse(‘2021-05-20 21:51:33’),
                ),
                ];

                void toggleIsPinned(String id) {
                int index = _listNote.indexWhere((note) => note.id == id);
                if (index >= 0) {
                setState(() {
                _listNote[index].isPinned = !_listNote[index].isPinned;
                });
                }
                ;
                }

                void addNote(Note note) {
                setState(() {
                _listNote.add(note);
                });
                }

                @override
                Widget build(BuildContext context) {
                return Scaffold(
                appBar: AppBar(
                title: Text(‘NOTES’),
                ),
                body: NoteGrid(_listNote, toggleIsPinned),
                floatingActionButton: FloatingActionButton(
                onPressed: () {
                Navigator.of(context).push(
                MaterialPageRoute(builder: (builder) => addNoteScreen(addNote)),
                );
                },
                child: Icon(Icons.add),
                ));
                // Column(
                // children: [
                // …_listNote.map((note) => Container(
                // child: Text(note.note),
                // padding: EdgeInsets.all(10),
                // )) // ], // ),
                }
                }

                in reply to: error can’t be assigned to the parameter #50749
                Aris Sugiyono
                Participant

                  sudah solved kak.
                  next kalau ada kendala lagi ya

                  in reply to: error can’t be assigned to the parameter #50740
                  Aris Sugiyono
                  Participant

                    void main() {
                    runApp(acf());
                    }

                    class acf extends StatefulWidget {
                    @override
                    State<acf> createState() => _acfState();
                    }

                    class _acfState extends State<acf> {
                    //const acf({Key? key}) : super(key: key);
                    var soalIndex = 0;
                    var totalSkor = 0;

                    var pertanyaan = [
                    {
                    ‘pertanyaan’: ‘bedak apa yang berwarna putih?’,
                    ‘jawaban’: [
                    {‘text’: ‘shared pink’, ‘skor’: 40},
                    {‘text’: ‘shared natural’, ‘skor’: 70},
                    {‘text’: ‘bedak bayi’, ‘skor’: 10},
                    {‘text’: ‘bedak bulus’, ‘skor’: 0},
                    ],
                    },
                    {
                    ‘pertanyaan’: ‘sr12 punya obat ketek?’,
                    ‘jawaban’: [
                    {‘text’: ‘ada’, ‘skor’: 80},
                    {‘text’: ‘tidak’, ‘skor’: 10},
                    {‘text’: ‘mana saya tau, saya kan ikan’, ‘skor’: -80},
                    ],
                    },
                    {
                    ‘pertanyaan’: ‘siapa direktur sr12?’,
                    ‘jawaban’: [
                    {‘text’: ‘aris’, ‘skor’: 100},
                    {‘text’: ‘cici’, ‘skor’: 100},
                    {‘text’: ‘khadijah’, ‘skor’: 100},
                    {‘text’: ‘hafshah’, ‘skor’: 100},
                    ],
                    },
                    ];

                    void jawaban(int skor) {
                    //print(‘tombol sudah di tekan’);

                    totalSkor = totalSkor + skor;
                    setState(() {
                    soalIndex += 1;
                    });
                    if (soalIndex < pertanyaan.length) {
                    print(‘masih ada soal berikutnya’);
                    } else {
                    print(‘soal sudah habis’);
                    }
                    print(soalIndex);
                    }

                    @override
                    Widget build(BuildContext context) {
                    return MaterialApp(
                    home: Scaffold(
                    appBar: AppBar(
                    title: Text(‘KH STORE’),
                    ),
                    body: soalIndex < pertanyaan.length
                    ? Kuis(
                    jawaban: jawaban,
                    pertanyaan: pertanyaan,
                    soalIndex: soalIndex,
                    )
                    : Hasil(),
                    ),
                    );
                    }
                    }

                  Viewing 8 posts - 31 through 38 (of 38 total)
                  Shopping cart0
                  There are no products in the cart!
                  Continue shopping